<!DOCTYPE html>
<html lang="en">
<head>

    <meta charset="UTF-8">
    <title>测试报告</title>
       <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.5.0/css/bootstrap.min.css">
    <script src=" https://cdn.staticfile.org/jquery/2.0.0/jquery.min.js"></script>
    <script src="https://cdn.staticfile.org/echarts/5.1.2/echarts.min.js"></script>
    <!--    页面样式-->
    <style type="text/css">
        /*标题样式*/

        .main {
            background: rgba(7, 10, 88, 0.99);
        }

        .title {
            width: auto;
            height: 80px;
            text-align: center;
            font: bolder 30px/80px "Microsoft YaHei UI";
            color: #fff;
            background: rgba(3, 14, 70, 0.5);
            border-bottom: solid 1px rgb(3, 14, 70);
            margin-bottom: 10px;
        }

        .content-box {
            height: 700px;
            width: 100%;
            display: flex;
            margin-bottom: 10px;
        }

        .box1 {
            flex: 3;
        }

        .box2 {
            flex: 5;
            margin: 0 10px;
        }

        .box3 {
            flex: 4;
        }

        .panel {
            position: relative;
            border: 1px solid rgba(25, 186, 139, 0.17);
            background: rgba(3, 14, 70, 0.5);
            padding: 0 10px 50px;
            margin-bottom: 10px;
        }

        .panel h2, .test_info h2 {
            height: 40px;
            line-height: 40px;
            text-align: center;
            color: #007bff;
            font-size: 20px;
            font-weight: bold;
            margin: 0;
        }

        .panel .chart {
            height: 250px;
        }

        .panel .chart2 {
            height: 350px;
        }

        .panel .desc {
            height: 150px;
        }

        .panel .desc .info {
            font: normal 18px/25px "Microsoft YaHei UI";
            color: #fff;
            display: flex;
        }

        .panel .desc .info div {
            padding: 10px;
            border: solid 1px #6c757d;
        }

        .panel .desc .info div span {
            margin-left: 20px;
        }


        /* 执行信息样式   */
        .test_info {
            width: 100%;
            padding: 20px 100px;
            background: rgba(3, 14, 70, 0.5);

        }

        .table td, .table th {
            border: solid 1px #5765a4 !important;
            padding: 0 !important;
            line-height: 40px;
            text-align: center;
            height: 40px;
            color: #fff;
        }

        select {
            border: 0;
            padding: 0;
            margin: 0;
            height: 2em;
            width: 8em;
            margin-left: 2em;
        }

        option {
            text-align: center;
            height: 36px;
            font: none 18px/36px "Microsoft YaHei UI";
            color: #28a745 !important;
        }

        .test_log {
            background: rgba(163, 171, 189, 0.15);
            width: 100%;
            height: 50px;
            border-top: none;
            border-bottom: none;
            display: none;
            text-align: left;
        }

        .test_log td {
            text-align: left;
            height: 30px;
            margin: 0;
            padding-left: 3em;
            padding-right: 3em;
            font: none 18px/24px "Microsoft YaHei UI";
        }

        pre {
            margin: 0;
            white-space: pre-wrap;
            white-space: -moz-pre-wrap;
            white-space: -o-pre-wrap;
            word-wrap: break-word;
            color: #fff;
            line-height: 22px;
            font-size: 14px
        }

        .chart4 {
            overflow: auto;
            width: 100%;
            height: 600px;

        }

        .chart4::-webkit-scrollbar {
            width: 10px;

        }

        .chart4::-webkit-scrollbar-thumb {
            /*滚动条里面小方块*/
            border-radius: 5px;
            -webkit-box-shadow: inset 0 0 5px rgba(4, 0, 225, 0.62);
            background: #272789;
            height: 10px;

        }

        .chart4::-webkit-scrollbar-track {
            /*滚动条里面轨道*/
            -webkit-box-shadow: inset 0 0 5px rgba(0, 21, 255, 0.54);
            border-radius: 10px;
            background: rgba(214, 214, 214, 0.64);

        }

        /*详细内容描述的小标题*/
        .table_title {
            text-align: center;
            background: rgba(1, 2, 37, 0.72);
            font: bold 18px/30px 'Microsoft YaHei UI';
            color: #fff;
            border-radius: 10px
        }

    </style>

</head>
<body>
<div class="main">
    <div class="title">
        测试报告
    </div>
    <div class="content-box">
        <div class="box1">
            <div class="panel">
                <h2>执行结果</h2>
                <div class="chart" id="char3"></div>
                <div class="panel-footer"></div>
            </div>
            <div class="panel ">
                <h2>成功占比</h2>
                <div class="chart" id="char1"></div>
                <div class="panel-footer"></div>
            </div>
        </div>
        <div class="box2">
            <div class="panel">
                <h2>运行信息</h2>
                <div class="desc">

                    <div class="info">
                        <div style="flex:5">
                            <button type="button" class="btn btn-primary btn-sm">开始时间</button>
                            <span>2024-09-26 16:34:26</span>
                        </div>
                        <div style="flex:5">
                            <button type="button" class="btn btn-primary btn-sm">用例总数</button>
                            <span>17</span>
                        </div>
                    </div>
                    <div class="info">
                        <div style="flex:5">
                            <button type="button" class="btn btn-primary btn-sm">运行时长</button>
                            <span>11.069731 S</span>
                        </div>
                        <div style="flex:5">
                            <button type="button" class="btn btn-primary btn-sm ">测试人员</button>
                            <span>小测试</span>
                        </div>
                    </div>
                    <div class="info">
                        <div style="flex:5">
                            <button type="button" class="btn btn-primary btn-sm">成功用例</button>
                            <span>8</span>
                        </div>
                        <div style="flex:5">
                            <button type="button" class="btn btn-primary btn-sm ">通过率</button>
                            <span>47.06%</span>
                        </div>
                    </div>
                </div>
            </div>
            <div class="panel">
                <h2>通过率趋势图</h2>
                <div class="chart2" id="char2"></div>
            </div>
        </div>
        <div class="box3">
            <div class="panel">
                <h2>历史构建结果</h2>
                <div class="chart4">
                    <table class="table" style="color: #d6d6d6;padding: 0">
                        <thead>
                        <tr>
                            <th scope="col">执行时间</th>
                            <th scope="col">用例总数</th>
                            <th scope="col">成功用例数</th>
                            <th scope="col">通过率</th>
                        </tr>
                        </thead>
                        <tbody>
                        
                        <tr>
                            <th scope="row">2024-09-26 16:34:26</th>
                            <td>17</td>
                            <td>8</td>
                            <td>47.06%</td>
                        </tr>
                        
                        <tr>
                            <th scope="row">2024-09-23 15:10:53</th>
                            <td>102</td>
                            <td>48</td>
                            <td>47.06%</td>
                        </tr>
                        
                        </tbody>
                    </table>

                </div>
            </div>

        </div>
    </div>

    <div class="test_info">
        <h2>本次运行详情</h2>
        <div class="table_data">

            <table class="table" style="color: #fff">
                <thead class="text-light" style="background: rgba(3, 14, 70, 0.5)">
                <tr>
                    <th scope="col" style="width: 5%;padding: 0">编号</th>
                    <th scope="col" style="width: 20%;padding: 0">
                        <span>用例模块</span>
                        <select id="testClass">
                            <option>所有</option>
                            
                            <option value="caseexternaApitest_createProjectByGitInfopy">case\externaApi\test_createProjectByGitInfo.py</option>
                            
                        </select>

                    </th>
                    <th scope="col" style="width: 15%;padding: 0">测试方法</th>
                    <th scope="col" style="width: 20%;padding: 0">用例描述</th>
                    <th scope="col" style="width: 10%;padding: 0">执行时间</th>
                    <th scope="col" style="width: 20%;padding: 0">

                        <span>执行结果</span>
                        <select id="testResult">
                            <option>所有</option>
                            <option class="text-success">成功</option>
                            <option class="text-danger">失败</option>
                            <option class="text-warning">错误</option>
                            <option class="text-info">跳过</option>
                        </select>

                    </th>
                    <th scope="col" style="width: 10%;padding: 0">详细信息</th>
                </tr>
                </thead>
                <tbody>
                
                <tr class="case_">
                    <td>1</td>
                    <td class="caseexternaApitest_createProjectByGitInfopy">case\externaApi\test_createProjectByGitInfo.py</td>
                    <td>TestCodeSecAPI.test22</td>
                    <td>None</td>
                    <td>0.000653</td>
                    
                    
                    <td class="text-success">通过</td>
                    
                    
                    <td>
                        <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button>
                    </td>
                </tr>

                <tr class="test_log">
                    <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all;padding: 0">
                        <div class="card" style="background: rgba(3, 14, 70, 0.5)">
                            <div class="card-body">
                                <ul class="nav nav-tabs" role="tablist">
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link active" data-toggle="tab" role="tab" aria-controls="home"
                                           aria-selected="true" style="padding: 0 16px">运行日志</a>
                                    </li>
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="profile"
                                           aria-selected="false" style="padding: 0 16px">调试输出</a>
                                    </li>
                                    
                                    

                                </ul>
                                <div class="tab-content" style="height: 300px;overflow-y: auto;padding: 20px">

                                    <div class="tab-pane fade show active" role="tabpanel" aria-labelledby="profile-tab">
                                        <pre style="line-height: 18px"></pre>
                                    </div>
                                    <div class="tab-pane fade" role="tabpanel" aria-labelledby="contact-tab">
                                        <pre style="line-height: 18px">E:\学习项目\CodesecApi\case\externaApi\test_data\createProjectByGitInfo.csv
['case_name: projectName_null', 'case_name: projectName_toolong:512', 'case_name: projectName_tooshort', 'case_name: projectName_onlyspace', 'case_name: projectNam_Contains special characters', 'case_name: projectName_two characters', 'case_name: projectName_512characters', 'case_name: projectName_space and characters', 'case_name: projectDesc_null', 'case_name: projectDesc_toolong 513characters', 'case_name: projectDesc_onlyspace', 'case_name: projectDesc_Contains special characters', 'case_name: projectDesc_two characters', 'case_name: projectDesc_500characters', 'case_name: url_ok', 'case_name: url_null', 'case_name: url format error', 'case_name: url_contains space', 'case_name: url_characters too long', 'case_name: url_contains special characters', 'case_name: urlHead=0', 'case_name: urlHead=1', 'case_name: urlHead=2', 'case_name: urlHead_null', 'case_name: urlHead_illegal', 'case_name: gitType1_gitlab', 'case_name: gitType2_github', 'case_name: gitType3_gitee', 'case_name: gitType6_gerrit', 'case_name: gitType7_bitbucket', 'case_name: gitType4', 'case_name: gitType_illegal', 'case_name: gitType_null', 'case_name: authenticationMethod=0', 'case_name: authenticationMethod=1', 'case_name: authenticationMethod=2', 'case_name: authenticationMethod=3', 'case_name: authenticationMethod_null', 'case_name: username_null']
</pre>
                                    </div>
                                    
                                    


                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
                
                <tr class="case_">
                    <td>2</td>
                    <td class="caseexternaApitest_createProjectByGitInfopy">case\externaApi\test_createProjectByGitInfo.py</td>
                    <td>TestCodeSecAPI.test_createProjectByGitInfo</td>
                    <td>case_name: projectName_null</td>
                    <td>0.948570</td>
                    
                    
                    <td class="text-success">通过</td>
                    
                    
                    <td>
                        <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button>
                    </td>
                </tr>

                <tr class="test_log">
                    <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all;padding: 0">
                        <div class="card" style="background: rgba(3, 14, 70, 0.5)">
                            <div class="card-body">
                                <ul class="nav nav-tabs" role="tablist">
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link active" data-toggle="tab" role="tab" aria-controls="home"
                                           aria-selected="true" style="padding: 0 16px">运行日志</a>
                                    </li>
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="profile"
                                           aria-selected="false" style="padding: 0 16px">调试输出</a>
                                    </li>
                                    
                                    

                                </ul>
                                <div class="tab-content" style="height: 300px;overflow-y: auto;padding: 20px">

                                    <div class="tab-pane fade show active" role="tabpanel" aria-labelledby="profile-tab">
                                        <pre style="line-height: 18px">[1m[31mERROR   [0m ERROR:CodeSecTool.py:270 --------------------------------------------------请求错误：projectName：该字段不能为空。, 项目名称必须由2-512个字符组成。--------------------------------------------------
[1m[31mERROR   [0m ERROR:CodeSecTool.py:277 请求url：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo
[1m[31mERROR   [0m ERROR:CodeSecTool.py:278 请求头：
{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf',
 'lang': 'zh-CN',
 'x-cs-nonce': 'crx123456',
 'x-cs-signature': 'f6b8d44ff854022b17301f02ab0fa85fdc68760d02a14f550bdb4f3efbc7267f',
 'x-cs-timestamp': '1727339667112'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:279 请求参数：
{'authenticationMethod': '0',
 'branch': 'main',
 'callBackUrl': '',
 'checkCommitId': '',
 'commitId': '',
 'depotId': '',
 'extraMark': '',
 'fastScan': '',
 'fileFilter': '',
 'gitType': '3',
 'isIncrScan': '',
 'isOpenDepend': '',
 'isTokenEncrypt': '',
 'language': '1',
 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac',
 'password': 'vm1ngQOTBuXBLTA39f3o07gkm7+fN4y09b61yw/Bg5X23A+Zq/THzDUuv3fz03G43ipNIWmXGPaivsMdxBdtPE78sAd57UYr5LW0D5/phG0y9lVXkP79a7p4F0BLKfot5X4XDOlZUT/w1Sb3pZ63KbUpjiDuTHZeIkg6yBfGw7c=',
 'projectDesc': '接口创建项目：projectName为空',
 'projectName': '',
 'pullFileName': '',
 'ruleSetId': '',
 'tag': '',
 'type': '1',
 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git',
 'urlHead': '0',
 'username': 'username'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:281 验签拼接参数：
%sauthenticationMethod=0&branch=main&gitType=3&language=1&orgUuid=00a7b33e-f075-4758-9ef0-d1bb989748ac&password=vm1ngQOTBuXBLTA39f3o07gkm7+fN4y09b61yw/Bg5X23A+Zq/THzDUuv3fz03G43ipNIWmXGPaivsMdxBdtPE78sAd57UYr5LW0D5/phG0y9lVXkP79a7p4F0BLKfot5X4XDOlZUT/w1Sb3pZ63KbUpjiDuTHZeIkg6yBfGw7c=&projectDesc=接口创建项目：projectName为空&type=1&url=http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git&urlHead=0&username=username&eyJhbGciOiJIUzUxMiJ9.eyJub25jZSI6IjZiMGY4N2U3LWQ1MWYtNDZjOC04YjI2LWM4ZTliYWU5NDUwZSIsInN1YiI6ImZiOWQ2MDMyLWUzZmYtNDM1Ny04YzQyLTE4YTE3ZmQ4NTViZiJ9.-qpeeyHWepLXaMFFoNCmjovV1wP5ZTKgfAvQwI_oLsKxP1S8s-1GOOedmCosLCNr7BvzLAONFdtSKRO0Cu-YPw&1727339667559&crx123456

[1m[31mERROR   [0m ERROR:CodeSecTool.py:282 返回内容：
{'code': 'B500',
 'message': 'projectName：该字段不能为空。, 项目名称必须由2-512个字符组成。',
 'status': False}</pre>
                                    </div>
                                    <div class="tab-pane fade" role="tabpanel" aria-labelledby="contact-tab">
                                        <pre style="line-height: 18px">
请求接口：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo 
请求头：{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf', 'x-cs-timestamp': '1727339667112', 'x-cs-nonce': 'crx123456', 'x-cs-signature': 'f6b8d44ff854022b17301f02ab0fa85fdc68760d02a14f550bdb4f3efbc7267f', 'lang': 'zh-CN'}
请求参数：{'projectName': '', 'gitType': '3', 'authenticationMethod': '0', 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git', 'projectDesc': '接口创建项目：projectName为空', 'urlHead': '0', 'username': 'username', 'password': 'vm1ngQOTBuXBLTA39f3o07gkm7+fN4y09b61yw/Bg5X23A+Zq/THzDUuv3fz03G43ipNIWmXGPaivsMdxBdtPE78sAd57UYr5LW0D5/phG0y9lVXkP79a7p4F0BLKfot5X4XDOlZUT/w1Sb3pZ63KbUpjiDuTHZeIkg6yBfGw7c=', 'isTokenEncrypt': '', 'branch': 'main', 'tag': '', 'checkCommitId': '', 'commitId': '', 'extraMark': '', 'fileFilter': '', 'callBackUrl': '', 'language': '1', 'type': '1', 'isOpenDepend': '', 'depotId': '', 'pullFileName': '', 'ruleSetId': '', 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac', 'fastScan': '', 'isIncrScan': ''}
响应：{'status': False, 'code': 'B500', 'message': 'projectName：该字段不能为空。, 项目名称必须由2-512个字符组成。'}
</pre>
                                    </div>
                                    
                                    


                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
                
                <tr class="case_">
                    <td>3</td>
                    <td class="caseexternaApitest_createProjectByGitInfopy">case\externaApi\test_createProjectByGitInfo.py</td>
                    <td>TestCodeSecAPI.test_createProjectByGitInfo</td>
                    <td>case_name: projectName_toolong:512</td>
                    <td>0.716515</td>
                    
                    
                    <td class="text-success">通过</td>
                    
                    
                    <td>
                        <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button>
                    </td>
                </tr>

                <tr class="test_log">
                    <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all;padding: 0">
                        <div class="card" style="background: rgba(3, 14, 70, 0.5)">
                            <div class="card-body">
                                <ul class="nav nav-tabs" role="tablist">
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link active" data-toggle="tab" role="tab" aria-controls="home"
                                           aria-selected="true" style="padding: 0 16px">运行日志</a>
                                    </li>
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="profile"
                                           aria-selected="false" style="padding: 0 16px">调试输出</a>
                                    </li>
                                    
                                    

                                </ul>
                                <div class="tab-content" style="height: 300px;overflow-y: auto;padding: 20px">

                                    <div class="tab-pane fade show active" role="tabpanel" aria-labelledby="profile-tab">
                                        <pre style="line-height: 18px">[1m[31mERROR   [0m ERROR:CodeSecTool.py:270 --------------------------------------------------请求错误：项目名称必须由2-512个字符组成。--------------------------------------------------
[1m[31mERROR   [0m ERROR:CodeSecTool.py:277 请求url：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo
[1m[31mERROR   [0m ERROR:CodeSecTool.py:278 请求头：
{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf',
 'lang': 'zh-CN',
 'x-cs-nonce': 'crx123456',
 'x-cs-signature': 'd3313165122e0b5ba5b7138d44626a35c3f023356a4507a02539172d1f8ee262',
 'x-cs-timestamp': '1727339668018'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:279 请求参数：
{'authenticationMethod': '0',
 'branch': 'main',
 'callBackUrl': '',
 'checkCommitId': '',
 'commitId': '',
 'depotId': '',
 'extraMark': '',
 'fastScan': '',
 'fileFilter': '',
 'gitType': '3',
 'isIncrScan': '',
 'isOpenDepend': '',
 'isTokenEncrypt': '',
 'language': '1',
 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac',
 'password': 'MnLIScd9EaaI2S++m9YeqMgjNHVYz+ovcb8tXjIEnf/5LJkZSFGkOISXBB401Q5WTOl5X/eJ/7oHmXu9XG9R+wJq6FAWwm83OIEORhaZKNh9Ohu1GVN+wjzzs/UeeCU0NHlDWGU/YQRpmRp8KIfxre1oI1rgztChyZPv2z+ZRsA=',
 'projectDesc': '接口创建项目：projectName超长：513个字符',
 'projectName': '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567895555512345123',
 'pullFileName': '',
 'ruleSetId': '',
 'tag': '',
 'type': '1',
 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git',
 'urlHead': '0',
 'username': 'username'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:281 验签拼接参数：
%sauthenticationMethod=0&branch=main&gitType=3&language=1&orgUuid=00a7b33e-f075-4758-9ef0-d1bb989748ac&password=MnLIScd9EaaI2S++m9YeqMgjNHVYz+ovcb8tXjIEnf/5LJkZSFGkOISXBB401Q5WTOl5X/eJ/7oHmXu9XG9R+wJq6FAWwm83OIEORhaZKNh9Ohu1GVN+wjzzs/UeeCU0NHlDWGU/YQRpmRp8KIfxre1oI1rgztChyZPv2z+ZRsA=&projectDesc=接口创建项目：projectName超长：513个字符&projectName=012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567895555512345123&type=1&url=http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git&urlHead=0&username=username&eyJhbGciOiJIUzUxMiJ9.eyJub25jZSI6IjZiMGY4N2U3LWQ1MWYtNDZjOC04YjI2LWM4ZTliYWU5NDUwZSIsInN1YiI6ImZiOWQ2MDMyLWUzZmYtNDM1Ny04YzQyLTE4YTE3ZmQ4NTViZiJ9.-qpeeyHWepLXaMFFoNCmjovV1wP5ZTKgfAvQwI_oLsKxP1S8s-1GOOedmCosLCNr7BvzLAONFdtSKRO0Cu-YPw&1727339668368&crx123456

[1m[31mERROR   [0m ERROR:CodeSecTool.py:282 返回内容：
{'code': 'B500', 'message': '项目名称必须由2-512个字符组成。', 'status': False}</pre>
                                    </div>
                                    <div class="tab-pane fade" role="tabpanel" aria-labelledby="contact-tab">
                                        <pre style="line-height: 18px">
请求接口：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo 
请求头：{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf', 'x-cs-timestamp': '1727339668018', 'x-cs-nonce': 'crx123456', 'x-cs-signature': 'd3313165122e0b5ba5b7138d44626a35c3f023356a4507a02539172d1f8ee262', 'lang': 'zh-CN'}
请求参数：{'projectName': '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567895555512345123', 'gitType': '3', 'authenticationMethod': '0', 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git', 'projectDesc': '接口创建项目：projectName超长：513个字符', 'urlHead': '0', 'username': 'username', 'password': 'MnLIScd9EaaI2S++m9YeqMgjNHVYz+ovcb8tXjIEnf/5LJkZSFGkOISXBB401Q5WTOl5X/eJ/7oHmXu9XG9R+wJq6FAWwm83OIEORhaZKNh9Ohu1GVN+wjzzs/UeeCU0NHlDWGU/YQRpmRp8KIfxre1oI1rgztChyZPv2z+ZRsA=', 'isTokenEncrypt': '', 'branch': 'main', 'tag': '', 'checkCommitId': '', 'commitId': '', 'extraMark': '', 'fileFilter': '', 'callBackUrl': '', 'language': '1', 'type': '1', 'isOpenDepend': '', 'depotId': '', 'pullFileName': '', 'ruleSetId': '', 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac', 'fastScan': '', 'isIncrScan': ''}
响应：{'status': False, 'code': 'B500', 'message': '项目名称必须由2-512个字符组成。'}
</pre>
                                    </div>
                                    
                                    


                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
                
                <tr class="case_">
                    <td>4</td>
                    <td class="caseexternaApitest_createProjectByGitInfopy">case\externaApi\test_createProjectByGitInfo.py</td>
                    <td>TestCodeSecAPI.test_createProjectByGitInfo</td>
                    <td>case_name: projectName_tooshort</td>
                    <td>0.572305</td>
                    
                    
                    <td class="text-success">通过</td>
                    
                    
                    <td>
                        <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button>
                    </td>
                </tr>

                <tr class="test_log">
                    <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all;padding: 0">
                        <div class="card" style="background: rgba(3, 14, 70, 0.5)">
                            <div class="card-body">
                                <ul class="nav nav-tabs" role="tablist">
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link active" data-toggle="tab" role="tab" aria-controls="home"
                                           aria-selected="true" style="padding: 0 16px">运行日志</a>
                                    </li>
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="profile"
                                           aria-selected="false" style="padding: 0 16px">调试输出</a>
                                    </li>
                                    
                                    

                                </ul>
                                <div class="tab-content" style="height: 300px;overflow-y: auto;padding: 20px">

                                    <div class="tab-pane fade show active" role="tabpanel" aria-labelledby="profile-tab">
                                        <pre style="line-height: 18px">[1m[31mERROR   [0m ERROR:CodeSecTool.py:270 --------------------------------------------------请求错误：项目名称必须由2-512个字符组成。--------------------------------------------------
[1m[31mERROR   [0m ERROR:CodeSecTool.py:277 请求url：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo
[1m[31mERROR   [0m ERROR:CodeSecTool.py:278 请求头：
{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf',
 'lang': 'zh-CN',
 'x-cs-nonce': 'crx123456',
 'x-cs-signature': '22fafceb34fce1ea4be290ee004475728d3091e33a3e799c66b965d4482a4a8e',
 'x-cs-timestamp': '1727339668628'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:279 请求参数：
{'authenticationMethod': '0',
 'branch': 'main',
 'callBackUrl': '',
 'checkCommitId': '',
 'commitId': '',
 'depotId': '',
 'extraMark': '',
 'fastScan': '',
 'fileFilter': '',
 'gitType': '3',
 'isIncrScan': '',
 'isOpenDepend': '',
 'isTokenEncrypt': '',
 'language': '1',
 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac',
 'password': 'crs7PY870ha5Q+pJYfv+DekbU9e3s5T2X3E85DN+vNf5TrWHngy4gpjf4eWeHW79+NuEJsijNkCzOGj3JM0jKY9ay/U/e+uGW4oKjCQl0UTJg5eBg6Ve2sMVH76GzCuqCCsmKINKbF5Jc6jCTslVK7SiMVqFQRVsU08yaUbbyB4=',
 'projectDesc': '接口创建项目：projectName过短',
 'projectName': '1',
 'pullFileName': '',
 'ruleSetId': '',
 'tag': '',
 'type': '1',
 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git',
 'urlHead': '0',
 'username': 'username'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:281 验签拼接参数：
%sauthenticationMethod=0&branch=main&gitType=3&language=1&orgUuid=00a7b33e-f075-4758-9ef0-d1bb989748ac&password=crs7PY870ha5Q+pJYfv+DekbU9e3s5T2X3E85DN+vNf5TrWHngy4gpjf4eWeHW79+NuEJsijNkCzOGj3JM0jKY9ay/U/e+uGW4oKjCQl0UTJg5eBg6Ve2sMVH76GzCuqCCsmKINKbF5Jc6jCTslVK7SiMVqFQRVsU08yaUbbyB4=&projectDesc=接口创建项目：projectName过短&projectName=1&type=1&url=http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git&urlHead=0&username=username&eyJhbGciOiJIUzUxMiJ9.eyJub25jZSI6IjZiMGY4N2U3LWQ1MWYtNDZjOC04YjI2LWM4ZTliYWU5NDUwZSIsInN1YiI6ImZiOWQ2MDMyLWUzZmYtNDM1Ny04YzQyLTE4YTE3ZmQ4NTViZiJ9.-qpeeyHWepLXaMFFoNCmjovV1wP5ZTKgfAvQwI_oLsKxP1S8s-1GOOedmCosLCNr7BvzLAONFdtSKRO0Cu-YPw&1727339668890&crx123456

[1m[31mERROR   [0m ERROR:CodeSecTool.py:282 返回内容：
{'code': 'B500', 'message': '项目名称必须由2-512个字符组成。', 'status': False}</pre>
                                    </div>
                                    <div class="tab-pane fade" role="tabpanel" aria-labelledby="contact-tab">
                                        <pre style="line-height: 18px">
请求接口：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo 
请求头：{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf', 'x-cs-timestamp': '1727339668628', 'x-cs-nonce': 'crx123456', 'x-cs-signature': '22fafceb34fce1ea4be290ee004475728d3091e33a3e799c66b965d4482a4a8e', 'lang': 'zh-CN'}
请求参数：{'projectName': '1', 'gitType': '3', 'authenticationMethod': '0', 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git', 'projectDesc': '接口创建项目：projectName过短', 'urlHead': '0', 'username': 'username', 'password': 'crs7PY870ha5Q+pJYfv+DekbU9e3s5T2X3E85DN+vNf5TrWHngy4gpjf4eWeHW79+NuEJsijNkCzOGj3JM0jKY9ay/U/e+uGW4oKjCQl0UTJg5eBg6Ve2sMVH76GzCuqCCsmKINKbF5Jc6jCTslVK7SiMVqFQRVsU08yaUbbyB4=', 'isTokenEncrypt': '', 'branch': 'main', 'tag': '', 'checkCommitId': '', 'commitId': '', 'extraMark': '', 'fileFilter': '', 'callBackUrl': '', 'language': '1', 'type': '1', 'isOpenDepend': '', 'depotId': '', 'pullFileName': '', 'ruleSetId': '', 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac', 'fastScan': '', 'isIncrScan': ''}
响应：{'status': False, 'code': 'B500', 'message': '项目名称必须由2-512个字符组成。'}
</pre>
                                    </div>
                                    
                                    


                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
                
                <tr class="case_">
                    <td>5</td>
                    <td class="caseexternaApitest_createProjectByGitInfopy">case\externaApi\test_createProjectByGitInfo.py</td>
                    <td>TestCodeSecAPI.test_createProjectByGitInfo</td>
                    <td>case_name: projectName_onlyspace</td>
                    <td>0.594002</td>
                    
                    
                    <td class="text-success">通过</td>
                    
                    
                    <td>
                        <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button>
                    </td>
                </tr>

                <tr class="test_log">
                    <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all;padding: 0">
                        <div class="card" style="background: rgba(3, 14, 70, 0.5)">
                            <div class="card-body">
                                <ul class="nav nav-tabs" role="tablist">
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link active" data-toggle="tab" role="tab" aria-controls="home"
                                           aria-selected="true" style="padding: 0 16px">运行日志</a>
                                    </li>
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="profile"
                                           aria-selected="false" style="padding: 0 16px">调试输出</a>
                                    </li>
                                    
                                    

                                </ul>
                                <div class="tab-content" style="height: 300px;overflow-y: auto;padding: 20px">

                                    <div class="tab-pane fade show active" role="tabpanel" aria-labelledby="profile-tab">
                                        <pre style="line-height: 18px">[1m[31mERROR   [0m ERROR:CodeSecTool.py:270 --------------------------------------------------请求错误：projectName：该字段不能为空。--------------------------------------------------
[1m[31mERROR   [0m ERROR:CodeSecTool.py:277 请求url：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo
[1m[31mERROR   [0m ERROR:CodeSecTool.py:278 请求头：
{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf',
 'lang': 'zh-CN',
 'x-cs-nonce': 'crx123456',
 'x-cs-signature': '5babd03811573423c4896185e541cfd9cb8b80fb0a03ab79626a27a2f5926355',
 'x-cs-timestamp': '1727339669241'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:279 请求参数：
{'authenticationMethod': '0',
 'branch': 'main',
 'callBackUrl': '',
 'checkCommitId': '',
 'commitId': '',
 'depotId': '',
 'extraMark': '',
 'fastScan': '',
 'fileFilter': '',
 'gitType': '3',
 'isIncrScan': '',
 'isOpenDepend': '',
 'isTokenEncrypt': '',
 'language': '1',
 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac',
 'password': 'jBBcFEgb9p1CQ1lK5BRUcOXNf+3SM6orRFyL3V1CwAKM003aadw4aAgPE+hr3u5/NLJIVtc2Ezz9rcPt8ToEJS1nrCVlFrCdh5cSymdexXDHZyMTNpR43SLm5fp2JGwzW4iz1anl8Cj3j/CTn0/ksgKQ/hIbfqnXBPX79+bejvM=',
 'projectDesc': '接口创建项目：projectName只有空格',
 'projectName': '   ',
 'pullFileName': '',
 'ruleSetId': '',
 'tag': '',
 'type': '1',
 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git',
 'urlHead': '0',
 'username': 'username'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:281 验签拼接参数：
%sauthenticationMethod=0&branch=main&gitType=3&language=1&orgUuid=00a7b33e-f075-4758-9ef0-d1bb989748ac&password=jBBcFEgb9p1CQ1lK5BRUcOXNf+3SM6orRFyL3V1CwAKM003aadw4aAgPE+hr3u5/NLJIVtc2Ezz9rcPt8ToEJS1nrCVlFrCdh5cSymdexXDHZyMTNpR43SLm5fp2JGwzW4iz1anl8Cj3j/CTn0/ksgKQ/hIbfqnXBPX79+bejvM=&projectDesc=接口创建项目：projectName只有空格&projectName=   &type=1&url=http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git&urlHead=0&username=username&eyJhbGciOiJIUzUxMiJ9.eyJub25jZSI6IjZiMGY4N2U3LWQ1MWYtNDZjOC04YjI2LWM4ZTliYWU5NDUwZSIsInN1YiI6ImZiOWQ2MDMyLWUzZmYtNDM1Ny04YzQyLTE4YTE3ZmQ4NTViZiJ9.-qpeeyHWepLXaMFFoNCmjovV1wP5ZTKgfAvQwI_oLsKxP1S8s-1GOOedmCosLCNr7BvzLAONFdtSKRO0Cu-YPw&1727339669552&crx123456

[1m[31mERROR   [0m ERROR:CodeSecTool.py:282 返回内容：
{'code': 'B500', 'message': 'projectName：该字段不能为空。', 'status': False}</pre>
                                    </div>
                                    <div class="tab-pane fade" role="tabpanel" aria-labelledby="contact-tab">
                                        <pre style="line-height: 18px">
请求接口：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo 
请求头：{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf', 'x-cs-timestamp': '1727339669241', 'x-cs-nonce': 'crx123456', 'x-cs-signature': '5babd03811573423c4896185e541cfd9cb8b80fb0a03ab79626a27a2f5926355', 'lang': 'zh-CN'}
请求参数：{'projectName': '   ', 'gitType': '3', 'authenticationMethod': '0', 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git', 'projectDesc': '接口创建项目：projectName只有空格', 'urlHead': '0', 'username': 'username', 'password': 'jBBcFEgb9p1CQ1lK5BRUcOXNf+3SM6orRFyL3V1CwAKM003aadw4aAgPE+hr3u5/NLJIVtc2Ezz9rcPt8ToEJS1nrCVlFrCdh5cSymdexXDHZyMTNpR43SLm5fp2JGwzW4iz1anl8Cj3j/CTn0/ksgKQ/hIbfqnXBPX79+bejvM=', 'isTokenEncrypt': '', 'branch': 'main', 'tag': '', 'checkCommitId': '', 'commitId': '', 'extraMark': '', 'fileFilter': '', 'callBackUrl': '', 'language': '1', 'type': '1', 'isOpenDepend': '', 'depotId': '', 'pullFileName': '', 'ruleSetId': '', 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac', 'fastScan': '', 'isIncrScan': ''}
响应：{'status': False, 'code': 'B500', 'message': 'projectName：该字段不能为空。'}
</pre>
                                    </div>
                                    
                                    


                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
                
                <tr class="case_">
                    <td>6</td>
                    <td class="caseexternaApitest_createProjectByGitInfopy">case\externaApi\test_createProjectByGitInfo.py</td>
                    <td>TestCodeSecAPI.test_createProjectByGitInfo</td>
                    <td>case_name: projectNam_Contains special characters</td>
                    <td>0.932470</td>
                    
                    
                    <td class="text-success">通过</td>
                    
                    
                    <td>
                        <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button>
                    </td>
                </tr>

                <tr class="test_log">
                    <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all;padding: 0">
                        <div class="card" style="background: rgba(3, 14, 70, 0.5)">
                            <div class="card-body">
                                <ul class="nav nav-tabs" role="tablist">
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link active" data-toggle="tab" role="tab" aria-controls="home"
                                           aria-selected="true" style="padding: 0 16px">运行日志</a>
                                    </li>
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="profile"
                                           aria-selected="false" style="padding: 0 16px">调试输出</a>
                                    </li>
                                    
                                    

                                </ul>
                                <div class="tab-content" style="height: 300px;overflow-y: auto;padding: 20px">

                                    <div class="tab-pane fade show active" role="tabpanel" aria-labelledby="profile-tab">
                                        <pre style="line-height: 18px">[1m[31mERROR   [0m ERROR:CodeSecTool.py:270 --------------------------------------------------请求错误：项目名称不能包含￥()？！{}《》!#%&*\\/|:<>?\ 等特殊字符。--------------------------------------------------
[1m[31mERROR   [0m ERROR:CodeSecTool.py:277 请求url：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo
[1m[31mERROR   [0m ERROR:CodeSecTool.py:278 请求头：
{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf',
 'lang': 'zh-CN',
 'x-cs-nonce': 'crx123456',
 'x-cs-signature': '42ce012495dbe3beee89a4051ad7ffc0778dca61b52c712a052c2266d7d30ae8',
 'x-cs-timestamp': '1727339669795'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:279 请求参数：
{'authenticationMethod': '0',
 'branch': 'main',
 'callBackUrl': '',
 'checkCommitId': '',
 'commitId': '',
 'depotId': '',
 'extraMark': '',
 'fastScan': '',
 'fileFilter': '',
 'gitType': '3',
 'isIncrScan': '',
 'isOpenDepend': '',
 'isTokenEncrypt': '',
 'language': '1',
 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac',
 'password': 'Na/3QuNTDkDLPOOX2qYc1dZs4RU+Dx9m9CkOnTIp8S4FjpzYod03lTrhI+B2QKbhs+HreQ4r0a0Iv8aY8hP6KknpW+0DrX9K2GmH8LJQZPEUUMRL3LvVQttkyf5yN+Gahbc3CBpoSU7X65n8kdT0Je/poULhiAjnTKeNMgTSZhc=',
 'projectDesc': '接口创建项目：projectName包含特殊字符',
 'projectName': '#￥%……*',
 'pullFileName': '',
 'ruleSetId': '',
 'tag': '',
 'type': '1',
 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git',
 'urlHead': '0',
 'username': 'username'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:281 验签拼接参数：
%sauthenticationMethod=0&branch=main&gitType=3&language=1&orgUuid=00a7b33e-f075-4758-9ef0-d1bb989748ac&password=Na/3QuNTDkDLPOOX2qYc1dZs4RU+Dx9m9CkOnTIp8S4FjpzYod03lTrhI+B2QKbhs+HreQ4r0a0Iv8aY8hP6KknpW+0DrX9K2GmH8LJQZPEUUMRL3LvVQttkyf5yN+Gahbc3CBpoSU7X65n8kdT0Je/poULhiAjnTKeNMgTSZhc=&projectDesc=接口创建项目：projectName包含特殊字符&projectName=#￥%……*&type=1&url=http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git&urlHead=0&username=username&eyJhbGciOiJIUzUxMiJ9.eyJub25jZSI6IjZiMGY4N2U3LWQ1MWYtNDZjOC04YjI2LWM4ZTliYWU5NDUwZSIsInN1YiI6ImZiOWQ2MDMyLWUzZmYtNDM1Ny04YzQyLTE4YTE3ZmQ4NTViZiJ9.-qpeeyHWepLXaMFFoNCmjovV1wP5ZTKgfAvQwI_oLsKxP1S8s-1GOOedmCosLCNr7BvzLAONFdtSKRO0Cu-YPw&1727339670487&crx123456

[1m[31mERROR   [0m ERROR:CodeSecTool.py:282 返回内容：
{'code': 'B500',
 'message': '项目名称不能包含￥()？！{}《》!#%&*\\\\/|:<>?\\ 等特殊字符。',
 'status': False}</pre>
                                    </div>
                                    <div class="tab-pane fade" role="tabpanel" aria-labelledby="contact-tab">
                                        <pre style="line-height: 18px">
请求接口：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo 
请求头：{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf', 'x-cs-timestamp': '1727339669795', 'x-cs-nonce': 'crx123456', 'x-cs-signature': '42ce012495dbe3beee89a4051ad7ffc0778dca61b52c712a052c2266d7d30ae8', 'lang': 'zh-CN'}
请求参数：{'projectName': '#￥%……*', 'gitType': '3', 'authenticationMethod': '0', 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git', 'projectDesc': '接口创建项目：projectName包含特殊字符', 'urlHead': '0', 'username': 'username', 'password': 'Na/3QuNTDkDLPOOX2qYc1dZs4RU+Dx9m9CkOnTIp8S4FjpzYod03lTrhI+B2QKbhs+HreQ4r0a0Iv8aY8hP6KknpW+0DrX9K2GmH8LJQZPEUUMRL3LvVQttkyf5yN+Gahbc3CBpoSU7X65n8kdT0Je/poULhiAjnTKeNMgTSZhc=', 'isTokenEncrypt': '', 'branch': 'main', 'tag': '', 'checkCommitId': '', 'commitId': '', 'extraMark': '', 'fileFilter': '', 'callBackUrl': '', 'language': '1', 'type': '1', 'isOpenDepend': '', 'depotId': '', 'pullFileName': '', 'ruleSetId': '', 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac', 'fastScan': '', 'isIncrScan': ''}
响应：{'status': False, 'code': 'B500', 'message': '项目名称不能包含￥()？！{}《》!#%&*\\\\/|:<>?\\ 等特殊字符。'}
</pre>
                                    </div>
                                    
                                    


                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
                
                <tr class="case_">
                    <td>7</td>
                    <td class="caseexternaApitest_createProjectByGitInfopy">case\externaApi\test_createProjectByGitInfo.py</td>
                    <td>TestCodeSecAPI.test_createProjectByGitInfo</td>
                    <td>case_name: projectName_two characters</td>
                    <td>0.507252</td>
                    
                    <td class="text-warning">失败</td>
                    
                    <td>
                        <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button>
                    </td>
                </tr>

                <tr class="test_log">
                    <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all;padding: 0">
                        <div class="card" style="background: rgba(3, 14, 70, 0.5)">
                            <div class="card-body">
                                <ul class="nav nav-tabs" role="tablist">
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link active" data-toggle="tab" role="tab" aria-controls="home"
                                           aria-selected="true" style="padding: 0 16px">运行日志</a>
                                    </li>
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="profile"
                                           aria-selected="false" style="padding: 0 16px">调试输出</a>
                                    </li>
                                    
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="contact"
                                           aria-selected="false" style="padding: 0 16px">异常信息</a>
                                    </li>
                                    
                                    

                                </ul>
                                <div class="tab-content" style="height: 300px;overflow-y: auto;padding: 20px">

                                    <div class="tab-pane fade show active" role="tabpanel" aria-labelledby="profile-tab">
                                        <pre style="line-height: 18px">[1m[31mERROR   [0m ERROR:CodeSecTool.py:270 --------------------------------------------------请求错误：指定团队下项目名已经存在。--------------------------------------------------
[1m[31mERROR   [0m ERROR:CodeSecTool.py:277 请求url：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo
[1m[31mERROR   [0m ERROR:CodeSecTool.py:278 请求头：
{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf',
 'lang': 'zh-CN',
 'x-cs-nonce': 'crx123456',
 'x-cs-signature': 'fbcabbee446965eb086f65bfcf8476c9c33187e7357ebf32fb77a05ecafec4b9',
 'x-cs-timestamp': '1727339670728'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:279 请求参数：
{'authenticationMethod': '0',
 'branch': 'main',
 'callBackUrl': '',
 'checkCommitId': '',
 'commitId': '',
 'depotId': '',
 'extraMark': '',
 'fastScan': '',
 'fileFilter': '',
 'gitType': '3',
 'isIncrScan': '',
 'isOpenDepend': '',
 'isTokenEncrypt': '',
 'language': '1',
 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac',
 'password': 'r1lt4Cdw1r/5Nc+oabuuqzrCFlTg8zNvhW2/UwZqr+KV+4MfsGslTFN30EPnJ1XBmf+DbSubYQkeqU+2RYIQe7F1ePguOHvLuRbVglS1vpl1fzk3LJo+nqxVsd2RIndLg6eoAXhy06bfQB+VDyXIPJMOUB2ZlPo7d1TAhPXiyS4=',
 'projectDesc': '接口创建项目：projectName两个字符',
 'projectName': '根据',
 'pullFileName': '',
 'ruleSetId': '',
 'tag': '',
 'type': '1',
 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git',
 'urlHead': '0',
 'username': 'username'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:281 验签拼接参数：
%sauthenticationMethod=0&branch=main&gitType=3&language=1&orgUuid=00a7b33e-f075-4758-9ef0-d1bb989748ac&password=r1lt4Cdw1r/5Nc+oabuuqzrCFlTg8zNvhW2/UwZqr+KV+4MfsGslTFN30EPnJ1XBmf+DbSubYQkeqU+2RYIQe7F1ePguOHvLuRbVglS1vpl1fzk3LJo+nqxVsd2RIndLg6eoAXhy06bfQB+VDyXIPJMOUB2ZlPo7d1TAhPXiyS4=&projectDesc=接口创建项目：projectName两个字符&projectName=根据&type=1&url=http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git&urlHead=0&username=username&eyJhbGciOiJIUzUxMiJ9.eyJub25jZSI6IjZiMGY4N2U3LWQ1MWYtNDZjOC04YjI2LWM4ZTliYWU5NDUwZSIsInN1YiI6ImZiOWQ2MDMyLWUzZmYtNDM1Ny04YzQyLTE4YTE3ZmQ4NTViZiJ9.-qpeeyHWepLXaMFFoNCmjovV1wP5ZTKgfAvQwI_oLsKxP1S8s-1GOOedmCosLCNr7BvzLAONFdtSKRO0Cu-YPw&1727339670996&crx123456

[1m[31mERROR   [0m ERROR:CodeSecTool.py:282 返回内容：
{'code': 'B408', 'message': '指定团队下项目名已经存在。', 'status': False}</pre>
                                    </div>
                                    <div class="tab-pane fade" role="tabpanel" aria-labelledby="contact-tab">
                                        <pre style="line-height: 18px">
请求接口：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo 
请求头：{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf', 'x-cs-timestamp': '1727339670728', 'x-cs-nonce': 'crx123456', 'x-cs-signature': 'fbcabbee446965eb086f65bfcf8476c9c33187e7357ebf32fb77a05ecafec4b9', 'lang': 'zh-CN'}
请求参数：{'projectName': '根据', 'gitType': '3', 'authenticationMethod': '0', 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git', 'projectDesc': '接口创建项目：projectName两个字符', 'urlHead': '0', 'username': 'username', 'password': 'r1lt4Cdw1r/5Nc+oabuuqzrCFlTg8zNvhW2/UwZqr+KV+4MfsGslTFN30EPnJ1XBmf+DbSubYQkeqU+2RYIQe7F1ePguOHvLuRbVglS1vpl1fzk3LJo+nqxVsd2RIndLg6eoAXhy06bfQB+VDyXIPJMOUB2ZlPo7d1TAhPXiyS4=', 'isTokenEncrypt': '', 'branch': 'main', 'tag': '', 'checkCommitId': '', 'commitId': '', 'extraMark': '', 'fileFilter': '', 'callBackUrl': '', 'language': '1', 'type': '1', 'isOpenDepend': '', 'depotId': '', 'pullFileName': '', 'ruleSetId': '', 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac', 'fastScan': '', 'isIncrScan': ''}
响应：{'status': False, 'code': 'B408', 'message': '指定团队下项目名已经存在。'}
</pre>
                                    </div>
                                    
                                    <div class="tab-pane fade " role="tabpanel" aria-labelledby="home-tab">
                                        <pre style="line-height: 18px">self = <CodesecApi.case.externaApi.test_createProjectByGitInfo.TestCodeSecAPI object at 0x0000015480F62F30>, testcase = {'assert_csv': '成功', 'authenticationMethod_csv': '0', 'branch_csv': 'main', 'case_name': 'projectName_two characters', ...}

    @pytest.mark.parametrize("testcase", request_data, ids=request_ids)   # ids指定用例名称
    def test_createProjectByGitInfo(self, testcase):
        base_path = f"/project/createProjectByGitInfo"
        url = base_url + base_path
        password_rsa = rsa_encode(testcase.get("password_csv"))
        parameter = {
            "projectName": testcase.get("projectName_csv"),
            "gitType": testcase.get("gitType_csv"),
            "authenticationMethod": testcase.get("authenticationMethod_csv"),
            "url": testcase.get("url_csv"),
            "projectDesc": testcase.get("projectDesc_csv"),
            "urlHead": testcase.get("urlHead_csv"),
            "username": testcase.get("username_csv"),
            "password": password_rsa,
            "isTokenEncrypt": "",
            "branch": "main",
            "tag": "",
            "checkCommitId": "",
            "commitId": "",
            "extraMark": "",
            "fileFilter": "",
            "callBackUrl": "",
            "language": "1",
            "type": "1",
            "isOpenDepend": "",
            "depotId": "",
            "pullFileName": "",
            "ruleSetId": "",
            "orgUuid": "00a7b33e-f075-4758-9ef0-d1bb989748ac",
            "fastScan": "",
            "isIncrScan": ""
        }
        response = send_request(url, "post", parameter, base_path)
>       assert testcase.get("assert_csv") in response["message"]
E       AssertionError: assert '成功' in '指定团队下项目名已经存在。'
E        +  where '成功' = <built-in method get of dict object at 0x0000015480F75580>('assert_csv')
E        +    where <built-in method get of dict object at 0x0000015480F75580> = {'assert_csv': '成功', 'authenticationMethod_csv': '0', 'branch_csv': 'main', 'case_name': 'projectName_two characters', ...}.get

case\externaApi\test_createProjectByGitInfo.py:52: AssertionError</pre>
                                    </div>
                                    
                                    


                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
                
                <tr class="case_">
                    <td>8</td>
                    <td class="caseexternaApitest_createProjectByGitInfopy">case\externaApi\test_createProjectByGitInfo.py</td>
                    <td>TestCodeSecAPI.test_createProjectByGitInfo</td>
                    <td>case_name: projectName_512characters</td>
                    <td>0.483496</td>
                    
                    <td class="text-warning">失败</td>
                    
                    <td>
                        <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button>
                    </td>
                </tr>

                <tr class="test_log">
                    <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all;padding: 0">
                        <div class="card" style="background: rgba(3, 14, 70, 0.5)">
                            <div class="card-body">
                                <ul class="nav nav-tabs" role="tablist">
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link active" data-toggle="tab" role="tab" aria-controls="home"
                                           aria-selected="true" style="padding: 0 16px">运行日志</a>
                                    </li>
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="profile"
                                           aria-selected="false" style="padding: 0 16px">调试输出</a>
                                    </li>
                                    
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="contact"
                                           aria-selected="false" style="padding: 0 16px">异常信息</a>
                                    </li>
                                    
                                    

                                </ul>
                                <div class="tab-content" style="height: 300px;overflow-y: auto;padding: 20px">

                                    <div class="tab-pane fade show active" role="tabpanel" aria-labelledby="profile-tab">
                                        <pre style="line-height: 18px">[1m[31mERROR   [0m ERROR:CodeSecTool.py:270 --------------------------------------------------请求错误：指定团队下项目名已经存在。--------------------------------------------------
[1m[31mERROR   [0m ERROR:CodeSecTool.py:277 请求url：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo
[1m[31mERROR   [0m ERROR:CodeSecTool.py:278 请求头：
{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf',
 'lang': 'zh-CN',
 'x-cs-nonce': 'crx123456',
 'x-cs-signature': '11a3a10bdf4c1f9f7c7cab8fba6bd99638bbddcd09a8edce226537eda144f675',
 'x-cs-timestamp': '1727339671355'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:279 请求参数：
{'authenticationMethod': '0',
 'branch': 'main',
 'callBackUrl': '',
 'checkCommitId': '',
 'commitId': '',
 'depotId': '',
 'extraMark': '',
 'fastScan': '',
 'fileFilter': '',
 'gitType': '3',
 'isIncrScan': '',
 'isOpenDepend': '',
 'isTokenEncrypt': '',
 'language': '1',
 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac',
 'password': 'Hh5XNU9Ok/GKbghGMCUNnM19gpoc83I22Bl+RGwYV38vSZllG+404Yy4YtnKJtV+/cwhMnxPMHYOm7zXzlKOaoogtsggbF2gZ/dm+4ewx0O46vkynlVDu4L93EMAvfUWsBOuJtmMPPuZ2b1ubGdP3jaAbFnbCJtA06N1klZ+L84=',
 'projectDesc': '接口创建项目：projectName512个字符',
 'projectName': '01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789555551234512',
 'pullFileName': '',
 'ruleSetId': '',
 'tag': '',
 'type': '1',
 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git',
 'urlHead': '0',
 'username': 'username'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:281 验签拼接参数：
%sauthenticationMethod=0&branch=main&gitType=3&language=1&orgUuid=00a7b33e-f075-4758-9ef0-d1bb989748ac&password=Hh5XNU9Ok/GKbghGMCUNnM19gpoc83I22Bl+RGwYV38vSZllG+404Yy4YtnKJtV+/cwhMnxPMHYOm7zXzlKOaoogtsggbF2gZ/dm+4ewx0O46vkynlVDu4L93EMAvfUWsBOuJtmMPPuZ2b1ubGdP3jaAbFnbCJtA06N1klZ+L84=&projectDesc=接口创建项目：projectName512个字符&projectName=01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789555551234512&type=1&url=http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git&urlHead=0&username=username&eyJhbGciOiJIUzUxMiJ9.eyJub25jZSI6IjZiMGY4N2U3LWQ1MWYtNDZjOC04YjI2LWM4ZTliYWU5NDUwZSIsInN1YiI6ImZiOWQ2MDMyLWUzZmYtNDM1Ny04YzQyLTE4YTE3ZmQ4NTViZiJ9.-qpeeyHWepLXaMFFoNCmjovV1wP5ZTKgfAvQwI_oLsKxP1S8s-1GOOedmCosLCNr7BvzLAONFdtSKRO0Cu-YPw&1727339671589&crx123456

[1m[31mERROR   [0m ERROR:CodeSecTool.py:282 返回内容：
{'code': 'B408', 'message': '指定团队下项目名已经存在。', 'status': False}</pre>
                                    </div>
                                    <div class="tab-pane fade" role="tabpanel" aria-labelledby="contact-tab">
                                        <pre style="line-height: 18px">
请求接口：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo 
请求头：{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf', 'x-cs-timestamp': '1727339671355', 'x-cs-nonce': 'crx123456', 'x-cs-signature': '11a3a10bdf4c1f9f7c7cab8fba6bd99638bbddcd09a8edce226537eda144f675', 'lang': 'zh-CN'}
请求参数：{'projectName': '01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789555551234512', 'gitType': '3', 'authenticationMethod': '0', 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git', 'projectDesc': '接口创建项目：projectName512个字符', 'urlHead': '0', 'username': 'username', 'password': 'Hh5XNU9Ok/GKbghGMCUNnM19gpoc83I22Bl+RGwYV38vSZllG+404Yy4YtnKJtV+/cwhMnxPMHYOm7zXzlKOaoogtsggbF2gZ/dm+4ewx0O46vkynlVDu4L93EMAvfUWsBOuJtmMPPuZ2b1ubGdP3jaAbFnbCJtA06N1klZ+L84=', 'isTokenEncrypt': '', 'branch': 'main', 'tag': '', 'checkCommitId': '', 'commitId': '', 'extraMark': '', 'fileFilter': '', 'callBackUrl': '', 'language': '1', 'type': '1', 'isOpenDepend': '', 'depotId': '', 'pullFileName': '', 'ruleSetId': '', 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac', 'fastScan': '', 'isIncrScan': ''}
响应：{'status': False, 'code': 'B408', 'message': '指定团队下项目名已经存在。'}
</pre>
                                    </div>
                                    
                                    <div class="tab-pane fade " role="tabpanel" aria-labelledby="home-tab">
                                        <pre style="line-height: 18px">self = <CodesecApi.case.externaApi.test_createProjectByGitInfo.TestCodeSecAPI object at 0x0000015480F62FC0>, testcase = {'assert_csv': '成功', 'authenticationMethod_csv': '0', 'branch_csv': 'main', 'case_name': 'projectName_512characters', ...}

    @pytest.mark.parametrize("testcase", request_data, ids=request_ids)   # ids指定用例名称
    def test_createProjectByGitInfo(self, testcase):
        base_path = f"/project/createProjectByGitInfo"
        url = base_url + base_path
        password_rsa = rsa_encode(testcase.get("password_csv"))
        parameter = {
            "projectName": testcase.get("projectName_csv"),
            "gitType": testcase.get("gitType_csv"),
            "authenticationMethod": testcase.get("authenticationMethod_csv"),
            "url": testcase.get("url_csv"),
            "projectDesc": testcase.get("projectDesc_csv"),
            "urlHead": testcase.get("urlHead_csv"),
            "username": testcase.get("username_csv"),
            "password": password_rsa,
            "isTokenEncrypt": "",
            "branch": "main",
            "tag": "",
            "checkCommitId": "",
            "commitId": "",
            "extraMark": "",
            "fileFilter": "",
            "callBackUrl": "",
            "language": "1",
            "type": "1",
            "isOpenDepend": "",
            "depotId": "",
            "pullFileName": "",
            "ruleSetId": "",
            "orgUuid": "00a7b33e-f075-4758-9ef0-d1bb989748ac",
            "fastScan": "",
            "isIncrScan": ""
        }
        response = send_request(url, "post", parameter, base_path)
>       assert testcase.get("assert_csv") in response["message"]
E       AssertionError: assert '成功' in '指定团队下项目名已经存在。'
E        +  where '成功' = <built-in method get of dict object at 0x0000015480F76240>('assert_csv')
E        +    where <built-in method get of dict object at 0x0000015480F76240> = {'assert_csv': '成功', 'authenticationMethod_csv': '0', 'branch_csv': 'main', 'case_name': 'projectName_512characters', ...}.get

case\externaApi\test_createProjectByGitInfo.py:52: AssertionError</pre>
                                    </div>
                                    
                                    


                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
                
                <tr class="case_">
                    <td>9</td>
                    <td class="caseexternaApitest_createProjectByGitInfopy">case\externaApi\test_createProjectByGitInfo.py</td>
                    <td>TestCodeSecAPI.test_createProjectByGitInfo</td>
                    <td>case_name: projectName_space and characters</td>
                    <td>0.453010</td>
                    
                    <td class="text-warning">失败</td>
                    
                    <td>
                        <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button>
                    </td>
                </tr>

                <tr class="test_log">
                    <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all;padding: 0">
                        <div class="card" style="background: rgba(3, 14, 70, 0.5)">
                            <div class="card-body">
                                <ul class="nav nav-tabs" role="tablist">
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link active" data-toggle="tab" role="tab" aria-controls="home"
                                           aria-selected="true" style="padding: 0 16px">运行日志</a>
                                    </li>
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="profile"
                                           aria-selected="false" style="padding: 0 16px">调试输出</a>
                                    </li>
                                    
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="contact"
                                           aria-selected="false" style="padding: 0 16px">异常信息</a>
                                    </li>
                                    
                                    

                                </ul>
                                <div class="tab-content" style="height: 300px;overflow-y: auto;padding: 20px">

                                    <div class="tab-pane fade show active" role="tabpanel" aria-labelledby="profile-tab">
                                        <pre style="line-height: 18px">[1m[31mERROR   [0m ERROR:CodeSecTool.py:270 --------------------------------------------------请求错误：指定团队下项目名已经存在。--------------------------------------------------
[1m[31mERROR   [0m ERROR:CodeSecTool.py:277 请求url：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo
[1m[31mERROR   [0m ERROR:CodeSecTool.py:278 请求头：
{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf',
 'lang': 'zh-CN',
 'x-cs-nonce': 'crx123456',
 'x-cs-signature': '5c503493fa16efae08089ca2c9a41f4a01adaef05111e17e7d5013f0702bd56f',
 'x-cs-timestamp': '1727339671856'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:279 请求参数：
{'authenticationMethod': '0',
 'branch': 'main',
 'callBackUrl': '',
 'checkCommitId': '',
 'commitId': '',
 'depotId': '',
 'extraMark': '',
 'fastScan': '',
 'fileFilter': '',
 'gitType': '3',
 'isIncrScan': '',
 'isOpenDepend': '',
 'isTokenEncrypt': '',
 'language': '1',
 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac',
 'password': 'nC8MjtjO1JnfOrW8wIuM2G1vuiv9p5VokU8kbqI9ZMs6zchYdcJeywh0c0Ib+Z3JoseQ4OPK4/5cegHevslezJG6P2hhWp81ixB4suUa9hlVIt1SfFSiRK2OzDKzvE4zlp54xSrPprQbvu9tSHYj43tRlGeuLoxAo6mB8YUbTOc=',
 'projectDesc': '接口创建项目：projectName包含空格+字符',
 'projectName': '空格   自动   清除',
 'pullFileName': '',
 'ruleSetId': '',
 'tag': '',
 'type': '1',
 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git',
 'urlHead': '0',
 'username': 'username'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:281 验签拼接参数：
%sauthenticationMethod=0&branch=main&gitType=3&language=1&orgUuid=00a7b33e-f075-4758-9ef0-d1bb989748ac&password=nC8MjtjO1JnfOrW8wIuM2G1vuiv9p5VokU8kbqI9ZMs6zchYdcJeywh0c0Ib+Z3JoseQ4OPK4/5cegHevslezJG6P2hhWp81ixB4suUa9hlVIt1SfFSiRK2OzDKzvE4zlp54xSrPprQbvu9tSHYj43tRlGeuLoxAo6mB8YUbTOc=&projectDesc=接口创建项目：projectName包含空格+字符&projectName=空格   自动   清除&type=1&url=http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git&urlHead=0&username=username&eyJhbGciOiJIUzUxMiJ9.eyJub25jZSI6IjZiMGY4N2U3LWQ1MWYtNDZjOC04YjI2LWM4ZTliYWU5NDUwZSIsInN1YiI6ImZiOWQ2MDMyLWUzZmYtNDM1Ny04YzQyLTE4YTE3ZmQ4NTViZiJ9.-qpeeyHWepLXaMFFoNCmjovV1wP5ZTKgfAvQwI_oLsKxP1S8s-1GOOedmCosLCNr7BvzLAONFdtSKRO0Cu-YPw&1727339672069&crx123456

[1m[31mERROR   [0m ERROR:CodeSecTool.py:282 返回内容：
{'code': 'B408', 'message': '指定团队下项目名已经存在。', 'status': False}</pre>
                                    </div>
                                    <div class="tab-pane fade" role="tabpanel" aria-labelledby="contact-tab">
                                        <pre style="line-height: 18px">
请求接口：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo 
请求头：{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf', 'x-cs-timestamp': '1727339671856', 'x-cs-nonce': 'crx123456', 'x-cs-signature': '5c503493fa16efae08089ca2c9a41f4a01adaef05111e17e7d5013f0702bd56f', 'lang': 'zh-CN'}
请求参数：{'projectName': '空格   自动   清除', 'gitType': '3', 'authenticationMethod': '0', 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git', 'projectDesc': '接口创建项目：projectName包含空格+字符', 'urlHead': '0', 'username': 'username', 'password': 'nC8MjtjO1JnfOrW8wIuM2G1vuiv9p5VokU8kbqI9ZMs6zchYdcJeywh0c0Ib+Z3JoseQ4OPK4/5cegHevslezJG6P2hhWp81ixB4suUa9hlVIt1SfFSiRK2OzDKzvE4zlp54xSrPprQbvu9tSHYj43tRlGeuLoxAo6mB8YUbTOc=', 'isTokenEncrypt': '', 'branch': 'main', 'tag': '', 'checkCommitId': '', 'commitId': '', 'extraMark': '', 'fileFilter': '', 'callBackUrl': '', 'language': '1', 'type': '1', 'isOpenDepend': '', 'depotId': '', 'pullFileName': '', 'ruleSetId': '', 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac', 'fastScan': '', 'isIncrScan': ''}
响应：{'status': False, 'code': 'B408', 'message': '指定团队下项目名已经存在。'}
</pre>
                                    </div>
                                    
                                    <div class="tab-pane fade " role="tabpanel" aria-labelledby="home-tab">
                                        <pre style="line-height: 18px">self = <CodesecApi.case.externaApi.test_createProjectByGitInfo.TestCodeSecAPI object at 0x0000015480F63050>
testcase = {'assert_csv': '成功', 'authenticationMethod_csv': '0', 'branch_csv': 'main', 'case_name': 'projectName_space and characters', ...}

    @pytest.mark.parametrize("testcase", request_data, ids=request_ids)   # ids指定用例名称
    def test_createProjectByGitInfo(self, testcase):
        base_path = f"/project/createProjectByGitInfo"
        url = base_url + base_path
        password_rsa = rsa_encode(testcase.get("password_csv"))
        parameter = {
            "projectName": testcase.get("projectName_csv"),
            "gitType": testcase.get("gitType_csv"),
            "authenticationMethod": testcase.get("authenticationMethod_csv"),
            "url": testcase.get("url_csv"),
            "projectDesc": testcase.get("projectDesc_csv"),
            "urlHead": testcase.get("urlHead_csv"),
            "username": testcase.get("username_csv"),
            "password": password_rsa,
            "isTokenEncrypt": "",
            "branch": "main",
            "tag": "",
            "checkCommitId": "",
            "commitId": "",
            "extraMark": "",
            "fileFilter": "",
            "callBackUrl": "",
            "language": "1",
            "type": "1",
            "isOpenDepend": "",
            "depotId": "",
            "pullFileName": "",
            "ruleSetId": "",
            "orgUuid": "00a7b33e-f075-4758-9ef0-d1bb989748ac",
            "fastScan": "",
            "isIncrScan": ""
        }
        response = send_request(url, "post", parameter, base_path)
>       assert testcase.get("assert_csv") in response["message"]
E       AssertionError: assert '成功' in '指定团队下项目名已经存在。'
E        +  where '成功' = <built-in method get of dict object at 0x0000015480F76400>('assert_csv')
E        +    where <built-in method get of dict object at 0x0000015480F76400> = {'assert_csv': '成功', 'authenticationMethod_csv': '0', 'branch_csv': 'main', 'case_name': 'projectName_space and characters', ...}.get

case\externaApi\test_createProjectByGitInfo.py:52: AssertionError</pre>
                                    </div>
                                    
                                    


                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
                
                <tr class="case_">
                    <td>10</td>
                    <td class="caseexternaApitest_createProjectByGitInfopy">case\externaApi\test_createProjectByGitInfo.py</td>
                    <td>TestCodeSecAPI.test_createProjectByGitInfo</td>
                    <td>case_name: projectDesc_null</td>
                    <td>0.579935</td>
                    
                    <td class="text-warning">失败</td>
                    
                    <td>
                        <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button>
                    </td>
                </tr>

                <tr class="test_log">
                    <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all;padding: 0">
                        <div class="card" style="background: rgba(3, 14, 70, 0.5)">
                            <div class="card-body">
                                <ul class="nav nav-tabs" role="tablist">
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link active" data-toggle="tab" role="tab" aria-controls="home"
                                           aria-selected="true" style="padding: 0 16px">运行日志</a>
                                    </li>
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="profile"
                                           aria-selected="false" style="padding: 0 16px">调试输出</a>
                                    </li>
                                    
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="contact"
                                           aria-selected="false" style="padding: 0 16px">异常信息</a>
                                    </li>
                                    
                                    

                                </ul>
                                <div class="tab-content" style="height: 300px;overflow-y: auto;padding: 20px">

                                    <div class="tab-pane fade show active" role="tabpanel" aria-labelledby="profile-tab">
                                        <pre style="line-height: 18px">[1m[31mERROR   [0m ERROR:CodeSecTool.py:270 --------------------------------------------------请求错误：指定团队下项目名已经存在。--------------------------------------------------
[1m[31mERROR   [0m ERROR:CodeSecTool.py:277 请求url：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo
[1m[31mERROR   [0m ERROR:CodeSecTool.py:278 请求头：
{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf',
 'lang': 'zh-CN',
 'x-cs-nonce': 'crx123456',
 'x-cs-signature': '637f1a47cc7a08fba26ae6efb17ba0891a6ecdf31f54f8840ad8bc786dcbd81d',
 'x-cs-timestamp': '1727339672284'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:279 请求参数：
{'authenticationMethod': '0',
 'branch': 'main',
 'callBackUrl': '',
 'checkCommitId': '',
 'commitId': '',
 'depotId': '',
 'extraMark': '',
 'fastScan': '',
 'fileFilter': '',
 'gitType': '3',
 'isIncrScan': '',
 'isOpenDepend': '',
 'isTokenEncrypt': '',
 'language': '1',
 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac',
 'password': 'GQQRy9WWaeWcSZwP6w6Wxb378cr/8epENxOcS3047Q32JgBXd0kYoFPJ5HuFg/QOStFmMwqzpvd70APlhdr5gSqXnSDbIjInUGON+MRYlq5wrNkrPVm5pvRKoPGAytNpN0gDDfaHlXgxNb0Yc0MHpqjK+MZob9wV0IiolXVqqkE=',
 'projectDesc': '',
 'projectName': 'projectDesc为空',
 'pullFileName': '',
 'ruleSetId': '',
 'tag': '',
 'type': '1',
 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git',
 'urlHead': '0',
 'username': 'username'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:281 验签拼接参数：
%sauthenticationMethod=0&branch=main&gitType=3&language=1&orgUuid=00a7b33e-f075-4758-9ef0-d1bb989748ac&password=GQQRy9WWaeWcSZwP6w6Wxb378cr/8epENxOcS3047Q32JgBXd0kYoFPJ5HuFg/QOStFmMwqzpvd70APlhdr5gSqXnSDbIjInUGON+MRYlq5wrNkrPVm5pvRKoPGAytNpN0gDDfaHlXgxNb0Yc0MHpqjK+MZob9wV0IiolXVqqkE=&projectName=projectDesc为空&type=1&url=http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git&urlHead=0&username=username&eyJhbGciOiJIUzUxMiJ9.eyJub25jZSI6IjZiMGY4N2U3LWQ1MWYtNDZjOC04YjI2LWM4ZTliYWU5NDUwZSIsInN1YiI6ImZiOWQ2MDMyLWUzZmYtNDM1Ny04YzQyLTE4YTE3ZmQ4NTViZiJ9.-qpeeyHWepLXaMFFoNCmjovV1wP5ZTKgfAvQwI_oLsKxP1S8s-1GOOedmCosLCNr7BvzLAONFdtSKRO0Cu-YPw&1727339672606&crx123456

[1m[31mERROR   [0m ERROR:CodeSecTool.py:282 返回内容：
{'code': 'B408', 'message': '指定团队下项目名已经存在。', 'status': False}</pre>
                                    </div>
                                    <div class="tab-pane fade" role="tabpanel" aria-labelledby="contact-tab">
                                        <pre style="line-height: 18px">
请求接口：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo 
请求头：{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf', 'x-cs-timestamp': '1727339672284', 'x-cs-nonce': 'crx123456', 'x-cs-signature': '637f1a47cc7a08fba26ae6efb17ba0891a6ecdf31f54f8840ad8bc786dcbd81d', 'lang': 'zh-CN'}
请求参数：{'projectName': 'projectDesc为空', 'gitType': '3', 'authenticationMethod': '0', 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git', 'projectDesc': '', 'urlHead': '0', 'username': 'username', 'password': 'GQQRy9WWaeWcSZwP6w6Wxb378cr/8epENxOcS3047Q32JgBXd0kYoFPJ5HuFg/QOStFmMwqzpvd70APlhdr5gSqXnSDbIjInUGON+MRYlq5wrNkrPVm5pvRKoPGAytNpN0gDDfaHlXgxNb0Yc0MHpqjK+MZob9wV0IiolXVqqkE=', 'isTokenEncrypt': '', 'branch': 'main', 'tag': '', 'checkCommitId': '', 'commitId': '', 'extraMark': '', 'fileFilter': '', 'callBackUrl': '', 'language': '1', 'type': '1', 'isOpenDepend': '', 'depotId': '', 'pullFileName': '', 'ruleSetId': '', 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac', 'fastScan': '', 'isIncrScan': ''}
响应：{'status': False, 'code': 'B408', 'message': '指定团队下项目名已经存在。'}
</pre>
                                    </div>
                                    
                                    <div class="tab-pane fade " role="tabpanel" aria-labelledby="home-tab">
                                        <pre style="line-height: 18px">self = <CodesecApi.case.externaApi.test_createProjectByGitInfo.TestCodeSecAPI object at 0x0000015480F630E0>, testcase = {'assert_csv': '成功', 'authenticationMethod_csv': '0', 'branch_csv': 'main', 'case_name': 'projectDesc_null', ...}

    @pytest.mark.parametrize("testcase", request_data, ids=request_ids)   # ids指定用例名称
    def test_createProjectByGitInfo(self, testcase):
        base_path = f"/project/createProjectByGitInfo"
        url = base_url + base_path
        password_rsa = rsa_encode(testcase.get("password_csv"))
        parameter = {
            "projectName": testcase.get("projectName_csv"),
            "gitType": testcase.get("gitType_csv"),
            "authenticationMethod": testcase.get("authenticationMethod_csv"),
            "url": testcase.get("url_csv"),
            "projectDesc": testcase.get("projectDesc_csv"),
            "urlHead": testcase.get("urlHead_csv"),
            "username": testcase.get("username_csv"),
            "password": password_rsa,
            "isTokenEncrypt": "",
            "branch": "main",
            "tag": "",
            "checkCommitId": "",
            "commitId": "",
            "extraMark": "",
            "fileFilter": "",
            "callBackUrl": "",
            "language": "1",
            "type": "1",
            "isOpenDepend": "",
            "depotId": "",
            "pullFileName": "",
            "ruleSetId": "",
            "orgUuid": "00a7b33e-f075-4758-9ef0-d1bb989748ac",
            "fastScan": "",
            "isIncrScan": ""
        }
        response = send_request(url, "post", parameter, base_path)
>       assert testcase.get("assert_csv") in response["message"]
E       AssertionError: assert '成功' in '指定团队下项目名已经存在。'
E        +  where '成功' = <built-in method get of dict object at 0x0000015480F765C0>('assert_csv')
E        +    where <built-in method get of dict object at 0x0000015480F765C0> = {'assert_csv': '成功', 'authenticationMethod_csv': '0', 'branch_csv': 'main', 'case_name': 'projectDesc_null', ...}.get

case\externaApi\test_createProjectByGitInfo.py:52: AssertionError</pre>
                                    </div>
                                    
                                    


                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
                
                <tr class="case_">
                    <td>11</td>
                    <td class="caseexternaApitest_createProjectByGitInfopy">case\externaApi\test_createProjectByGitInfo.py</td>
                    <td>TestCodeSecAPI.test_createProjectByGitInfo</td>
                    <td>case_name: projectDesc_toolong 513characters</td>
                    <td>0.536518</td>
                    
                    
                    <td class="text-success">通过</td>
                    
                    
                    <td>
                        <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button>
                    </td>
                </tr>

                <tr class="test_log">
                    <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all;padding: 0">
                        <div class="card" style="background: rgba(3, 14, 70, 0.5)">
                            <div class="card-body">
                                <ul class="nav nav-tabs" role="tablist">
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link active" data-toggle="tab" role="tab" aria-controls="home"
                                           aria-selected="true" style="padding: 0 16px">运行日志</a>
                                    </li>
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="profile"
                                           aria-selected="false" style="padding: 0 16px">调试输出</a>
                                    </li>
                                    
                                    

                                </ul>
                                <div class="tab-content" style="height: 300px;overflow-y: auto;padding: 20px">

                                    <div class="tab-pane fade show active" role="tabpanel" aria-labelledby="profile-tab">
                                        <pre style="line-height: 18px">[1m[31mERROR   [0m ERROR:CodeSecTool.py:270 --------------------------------------------------请求错误：项目描述最大长度为500个字符。--------------------------------------------------
[1m[31mERROR   [0m ERROR:CodeSecTool.py:277 请求url：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo
[1m[31mERROR   [0m ERROR:CodeSecTool.py:278 请求头：
{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf',
 'lang': 'zh-CN',
 'x-cs-nonce': 'crx123456',
 'x-cs-signature': '1970ef3a186d2193d18384a1c134cf90a4e0d42d98788f28f307dad92a27460f',
 'x-cs-timestamp': '1727339672883'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:279 请求参数：
{'authenticationMethod': '0',
 'branch': 'main',
 'callBackUrl': '',
 'checkCommitId': '',
 'commitId': '',
 'depotId': '',
 'extraMark': '',
 'fastScan': '',
 'fileFilter': '',
 'gitType': '3',
 'isIncrScan': '',
 'isOpenDepend': '',
 'isTokenEncrypt': '',
 'language': '1',
 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac',
 'password': 'tPM9k9cbPFdLL3wi51zSw3dmD6Ezayj7FQZEyNceMGA9g2lLTnEOP2lV+6XD/pMAGO3rNzhhmT7ZsboAD9NzAlah9C25x0RmmClyBXu4ZFlapr+mQPRunbmznCMIYSuWJQcSS05VcYZ2pF8uXfGjXjAEGMdhVwHitNlwLqBUiLQ=',
 'projectDesc': '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567895555512345123',
 'projectName': 'projectDesc超长：513个字符',
 'pullFileName': '',
 'ruleSetId': '',
 'tag': '',
 'type': '1',
 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git',
 'urlHead': '0',
 'username': 'username'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:281 验签拼接参数：
%sauthenticationMethod=0&branch=main&gitType=3&language=1&orgUuid=00a7b33e-f075-4758-9ef0-d1bb989748ac&password=tPM9k9cbPFdLL3wi51zSw3dmD6Ezayj7FQZEyNceMGA9g2lLTnEOP2lV+6XD/pMAGO3rNzhhmT7ZsboAD9NzAlah9C25x0RmmClyBXu4ZFlapr+mQPRunbmznCMIYSuWJQcSS05VcYZ2pF8uXfGjXjAEGMdhVwHitNlwLqBUiLQ=&projectDesc=012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567895555512345123&projectName=projectDesc超长：513个字符&type=1&url=http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git&urlHead=0&username=username&eyJhbGciOiJIUzUxMiJ9.eyJub25jZSI6IjZiMGY4N2U3LWQ1MWYtNDZjOC04YjI2LWM4ZTliYWU5NDUwZSIsInN1YiI6ImZiOWQ2MDMyLWUzZmYtNDM1Ny04YzQyLTE4YTE3ZmQ4NTViZiJ9.-qpeeyHWepLXaMFFoNCmjovV1wP5ZTKgfAvQwI_oLsKxP1S8s-1GOOedmCosLCNr7BvzLAONFdtSKRO0Cu-YPw&1727339673174&crx123456

[1m[31mERROR   [0m ERROR:CodeSecTool.py:282 返回内容：
{'code': 'B500', 'message': '项目描述最大长度为500个字符。', 'status': False}</pre>
                                    </div>
                                    <div class="tab-pane fade" role="tabpanel" aria-labelledby="contact-tab">
                                        <pre style="line-height: 18px">
请求接口：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo 
请求头：{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf', 'x-cs-timestamp': '1727339672883', 'x-cs-nonce': 'crx123456', 'x-cs-signature': '1970ef3a186d2193d18384a1c134cf90a4e0d42d98788f28f307dad92a27460f', 'lang': 'zh-CN'}
请求参数：{'projectName': 'projectDesc超长：513个字符', 'gitType': '3', 'authenticationMethod': '0', 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git', 'projectDesc': '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567895555512345123', 'urlHead': '0', 'username': 'username', 'password': 'tPM9k9cbPFdLL3wi51zSw3dmD6Ezayj7FQZEyNceMGA9g2lLTnEOP2lV+6XD/pMAGO3rNzhhmT7ZsboAD9NzAlah9C25x0RmmClyBXu4ZFlapr+mQPRunbmznCMIYSuWJQcSS05VcYZ2pF8uXfGjXjAEGMdhVwHitNlwLqBUiLQ=', 'isTokenEncrypt': '', 'branch': 'main', 'tag': '', 'checkCommitId': '', 'commitId': '', 'extraMark': '', 'fileFilter': '', 'callBackUrl': '', 'language': '1', 'type': '1', 'isOpenDepend': '', 'depotId': '', 'pullFileName': '', 'ruleSetId': '', 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac', 'fastScan': '', 'isIncrScan': ''}
响应：{'status': False, 'code': 'B500', 'message': '项目描述最大长度为500个字符。'}
</pre>
                                    </div>
                                    
                                    


                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
                
                <tr class="case_">
                    <td>12</td>
                    <td class="caseexternaApitest_createProjectByGitInfopy">case\externaApi\test_createProjectByGitInfo.py</td>
                    <td>TestCodeSecAPI.test_createProjectByGitInfo</td>
                    <td>case_name: projectDesc_onlyspace</td>
                    <td>0.557982</td>
                    
                    <td class="text-warning">失败</td>
                    
                    <td>
                        <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button>
                    </td>
                </tr>

                <tr class="test_log">
                    <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all;padding: 0">
                        <div class="card" style="background: rgba(3, 14, 70, 0.5)">
                            <div class="card-body">
                                <ul class="nav nav-tabs" role="tablist">
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link active" data-toggle="tab" role="tab" aria-controls="home"
                                           aria-selected="true" style="padding: 0 16px">运行日志</a>
                                    </li>
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="profile"
                                           aria-selected="false" style="padding: 0 16px">调试输出</a>
                                    </li>
                                    
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="contact"
                                           aria-selected="false" style="padding: 0 16px">异常信息</a>
                                    </li>
                                    
                                    

                                </ul>
                                <div class="tab-content" style="height: 300px;overflow-y: auto;padding: 20px">

                                    <div class="tab-pane fade show active" role="tabpanel" aria-labelledby="profile-tab">
                                        <pre style="line-height: 18px">[1m[31mERROR   [0m ERROR:CodeSecTool.py:270 --------------------------------------------------请求错误：指定团队下项目名已经存在。--------------------------------------------------
[1m[31mERROR   [0m ERROR:CodeSecTool.py:277 请求url：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo
[1m[31mERROR   [0m ERROR:CodeSecTool.py:278 请求头：
{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf',
 'lang': 'zh-CN',
 'x-cs-nonce': 'crx123456',
 'x-cs-signature': '63df4dfad3dcea6bc674cd25941e59a5eebb07fa7f2a210310b7ce5a91d8f458',
 'x-cs-timestamp': '1727339673466'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:279 请求参数：
{'authenticationMethod': '0',
 'branch': 'main',
 'callBackUrl': '',
 'checkCommitId': '',
 'commitId': '',
 'depotId': '',
 'extraMark': '',
 'fastScan': '',
 'fileFilter': '',
 'gitType': '3',
 'isIncrScan': '',
 'isOpenDepend': '',
 'isTokenEncrypt': '',
 'language': '1',
 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac',
 'password': 'LmnM/iFK8vQShV/yJoHn/FgAXmjleXDX9T5qEraensrpan7lDJ9Uw5GA5KEFhaH9vHqQV34V+qgXyL4L521+y6oL6np8OJWeQDpGvuAHqThYd7uWe3z9WKHFYqTO/0/Ns5i+5uD5BmZ+9LQ1e1HCqCNQhB6pj6s8lncHz9gwdC0=',
 'projectDesc': '   ',
 'projectName': 'projectDesc只有空格',
 'pullFileName': '',
 'ruleSetId': '',
 'tag': '',
 'type': '1',
 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git',
 'urlHead': '0',
 'username': 'username'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:281 验签拼接参数：
%sauthenticationMethod=0&branch=main&gitType=3&language=1&orgUuid=00a7b33e-f075-4758-9ef0-d1bb989748ac&password=LmnM/iFK8vQShV/yJoHn/FgAXmjleXDX9T5qEraensrpan7lDJ9Uw5GA5KEFhaH9vHqQV34V+qgXyL4L521+y6oL6np8OJWeQDpGvuAHqThYd7uWe3z9WKHFYqTO/0/Ns5i+5uD5BmZ+9LQ1e1HCqCNQhB6pj6s8lncHz9gwdC0=&projectDesc=   &projectName=projectDesc只有空格&type=1&url=http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git&urlHead=0&username=username&eyJhbGciOiJIUzUxMiJ9.eyJub25jZSI6IjZiMGY4N2U3LWQ1MWYtNDZjOC04YjI2LWM4ZTliYWU5NDUwZSIsInN1YiI6ImZiOWQ2MDMyLWUzZmYtNDM1Ny04YzQyLTE4YTE3ZmQ4NTViZiJ9.-qpeeyHWepLXaMFFoNCmjovV1wP5ZTKgfAvQwI_oLsKxP1S8s-1GOOedmCosLCNr7BvzLAONFdtSKRO0Cu-YPw&1727339673746&crx123456

[1m[31mERROR   [0m ERROR:CodeSecTool.py:282 返回内容：
{'code': 'B408', 'message': '指定团队下项目名已经存在。', 'status': False}</pre>
                                    </div>
                                    <div class="tab-pane fade" role="tabpanel" aria-labelledby="contact-tab">
                                        <pre style="line-height: 18px">
请求接口：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo 
请求头：{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf', 'x-cs-timestamp': '1727339673466', 'x-cs-nonce': 'crx123456', 'x-cs-signature': '63df4dfad3dcea6bc674cd25941e59a5eebb07fa7f2a210310b7ce5a91d8f458', 'lang': 'zh-CN'}
请求参数：{'projectName': 'projectDesc只有空格', 'gitType': '3', 'authenticationMethod': '0', 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git', 'projectDesc': '   ', 'urlHead': '0', 'username': 'username', 'password': 'LmnM/iFK8vQShV/yJoHn/FgAXmjleXDX9T5qEraensrpan7lDJ9Uw5GA5KEFhaH9vHqQV34V+qgXyL4L521+y6oL6np8OJWeQDpGvuAHqThYd7uWe3z9WKHFYqTO/0/Ns5i+5uD5BmZ+9LQ1e1HCqCNQhB6pj6s8lncHz9gwdC0=', 'isTokenEncrypt': '', 'branch': 'main', 'tag': '', 'checkCommitId': '', 'commitId': '', 'extraMark': '', 'fileFilter': '', 'callBackUrl': '', 'language': '1', 'type': '1', 'isOpenDepend': '', 'depotId': '', 'pullFileName': '', 'ruleSetId': '', 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac', 'fastScan': '', 'isIncrScan': ''}
响应：{'status': False, 'code': 'B408', 'message': '指定团队下项目名已经存在。'}
</pre>
                                    </div>
                                    
                                    <div class="tab-pane fade " role="tabpanel" aria-labelledby="home-tab">
                                        <pre style="line-height: 18px">self = <CodesecApi.case.externaApi.test_createProjectByGitInfo.TestCodeSecAPI object at 0x0000015480F63200>, testcase = {'assert_csv': '成功', 'authenticationMethod_csv': '0', 'branch_csv': 'main', 'case_name': 'projectDesc_onlyspace', ...}

    @pytest.mark.parametrize("testcase", request_data, ids=request_ids)   # ids指定用例名称
    def test_createProjectByGitInfo(self, testcase):
        base_path = f"/project/createProjectByGitInfo"
        url = base_url + base_path
        password_rsa = rsa_encode(testcase.get("password_csv"))
        parameter = {
            "projectName": testcase.get("projectName_csv"),
            "gitType": testcase.get("gitType_csv"),
            "authenticationMethod": testcase.get("authenticationMethod_csv"),
            "url": testcase.get("url_csv"),
            "projectDesc": testcase.get("projectDesc_csv"),
            "urlHead": testcase.get("urlHead_csv"),
            "username": testcase.get("username_csv"),
            "password": password_rsa,
            "isTokenEncrypt": "",
            "branch": "main",
            "tag": "",
            "checkCommitId": "",
            "commitId": "",
            "extraMark": "",
            "fileFilter": "",
            "callBackUrl": "",
            "language": "1",
            "type": "1",
            "isOpenDepend": "",
            "depotId": "",
            "pullFileName": "",
            "ruleSetId": "",
            "orgUuid": "00a7b33e-f075-4758-9ef0-d1bb989748ac",
            "fastScan": "",
            "isIncrScan": ""
        }
        response = send_request(url, "post", parameter, base_path)
>       assert testcase.get("assert_csv") in response["message"]
E       AssertionError: assert '成功' in '指定团队下项目名已经存在。'
E        +  where '成功' = <built-in method get of dict object at 0x0000015480F767C0>('assert_csv')
E        +    where <built-in method get of dict object at 0x0000015480F767C0> = {'assert_csv': '成功', 'authenticationMethod_csv': '0', 'branch_csv': 'main', 'case_name': 'projectDesc_onlyspace', ...}.get

case\externaApi\test_createProjectByGitInfo.py:52: AssertionError</pre>
                                    </div>
                                    
                                    


                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
                
                <tr class="case_">
                    <td>13</td>
                    <td class="caseexternaApitest_createProjectByGitInfopy">case\externaApi\test_createProjectByGitInfo.py</td>
                    <td>TestCodeSecAPI.test_createProjectByGitInfo</td>
                    <td>case_name: projectDesc_Contains special characters</td>
                    <td>0.637211</td>
                    
                    <td class="text-warning">失败</td>
                    
                    <td>
                        <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button>
                    </td>
                </tr>

                <tr class="test_log">
                    <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all;padding: 0">
                        <div class="card" style="background: rgba(3, 14, 70, 0.5)">
                            <div class="card-body">
                                <ul class="nav nav-tabs" role="tablist">
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link active" data-toggle="tab" role="tab" aria-controls="home"
                                           aria-selected="true" style="padding: 0 16px">运行日志</a>
                                    </li>
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="profile"
                                           aria-selected="false" style="padding: 0 16px">调试输出</a>
                                    </li>
                                    
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="contact"
                                           aria-selected="false" style="padding: 0 16px">异常信息</a>
                                    </li>
                                    
                                    

                                </ul>
                                <div class="tab-content" style="height: 300px;overflow-y: auto;padding: 20px">

                                    <div class="tab-pane fade show active" role="tabpanel" aria-labelledby="profile-tab">
                                        <pre style="line-height: 18px">[1m[31mERROR   [0m ERROR:CodeSecTool.py:270 --------------------------------------------------请求错误：指定团队下项目名已经存在。--------------------------------------------------
[1m[31mERROR   [0m ERROR:CodeSecTool.py:277 请求url：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo
[1m[31mERROR   [0m ERROR:CodeSecTool.py:278 请求头：
{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf',
 'lang': 'zh-CN',
 'x-cs-nonce': 'crx123456',
 'x-cs-signature': '6d8f191407f8ce7632a61661e948dfae9379be95501ef564519910476b638416',
 'x-cs-timestamp': '1727339674015'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:279 请求参数：
{'authenticationMethod': '0',
 'branch': 'main',
 'callBackUrl': '',
 'checkCommitId': '',
 'commitId': '',
 'depotId': '',
 'extraMark': '',
 'fastScan': '',
 'fileFilter': '',
 'gitType': '3',
 'isIncrScan': '',
 'isOpenDepend': '',
 'isTokenEncrypt': '',
 'language': '1',
 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac',
 'password': 'yRsbT3mPBdrQVSPKl1Edr9ts+lk2QMAX5yFRox11oGpGy1Smvbuuy5t5tIp/mY/UQg0bbu9ZFswZXF3VO+4WdfNHXekEmSvmXeWE/yfSs8xqqwotnAStel/z5PkijtWSYbh874rAWgxeTAXiFhhpZ+or/fCpQZFst7HxSk7EeJs=',
 'projectDesc': '#￥%……*',
 'projectName': 'projectDesc包含特殊字符',
 'pullFileName': '',
 'ruleSetId': '',
 'tag': '',
 'type': '1',
 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git',
 'urlHead': '0',
 'username': 'username'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:281 验签拼接参数：
%sauthenticationMethod=0&branch=main&gitType=3&language=1&orgUuid=00a7b33e-f075-4758-9ef0-d1bb989748ac&password=yRsbT3mPBdrQVSPKl1Edr9ts+lk2QMAX5yFRox11oGpGy1Smvbuuy5t5tIp/mY/UQg0bbu9ZFswZXF3VO+4WdfNHXekEmSvmXeWE/yfSs8xqqwotnAStel/z5PkijtWSYbh874rAWgxeTAXiFhhpZ+or/fCpQZFst7HxSk7EeJs=&projectDesc=#￥%……*&projectName=projectDesc包含特殊字符&type=1&url=http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git&urlHead=0&username=username&eyJhbGciOiJIUzUxMiJ9.eyJub25jZSI6IjZiMGY4N2U3LWQ1MWYtNDZjOC04YjI2LWM4ZTliYWU5NDUwZSIsInN1YiI6ImZiOWQ2MDMyLWUzZmYtNDM1Ny04YzQyLTE4YTE3ZmQ4NTViZiJ9.-qpeeyHWepLXaMFFoNCmjovV1wP5ZTKgfAvQwI_oLsKxP1S8s-1GOOedmCosLCNr7BvzLAONFdtSKRO0Cu-YPw&1727339674336&crx123456

[1m[31mERROR   [0m ERROR:CodeSecTool.py:282 返回内容：
{'code': 'B408', 'message': '指定团队下项目名已经存在。', 'status': False}</pre>
                                    </div>
                                    <div class="tab-pane fade" role="tabpanel" aria-labelledby="contact-tab">
                                        <pre style="line-height: 18px">
请求接口：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo 
请求头：{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf', 'x-cs-timestamp': '1727339674015', 'x-cs-nonce': 'crx123456', 'x-cs-signature': '6d8f191407f8ce7632a61661e948dfae9379be95501ef564519910476b638416', 'lang': 'zh-CN'}
请求参数：{'projectName': 'projectDesc包含特殊字符', 'gitType': '3', 'authenticationMethod': '0', 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git', 'projectDesc': '#￥%……*', 'urlHead': '0', 'username': 'username', 'password': 'yRsbT3mPBdrQVSPKl1Edr9ts+lk2QMAX5yFRox11oGpGy1Smvbuuy5t5tIp/mY/UQg0bbu9ZFswZXF3VO+4WdfNHXekEmSvmXeWE/yfSs8xqqwotnAStel/z5PkijtWSYbh874rAWgxeTAXiFhhpZ+or/fCpQZFst7HxSk7EeJs=', 'isTokenEncrypt': '', 'branch': 'main', 'tag': '', 'checkCommitId': '', 'commitId': '', 'extraMark': '', 'fileFilter': '', 'callBackUrl': '', 'language': '1', 'type': '1', 'isOpenDepend': '', 'depotId': '', 'pullFileName': '', 'ruleSetId': '', 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac', 'fastScan': '', 'isIncrScan': ''}
响应：{'status': False, 'code': 'B408', 'message': '指定团队下项目名已经存在。'}
</pre>
                                    </div>
                                    
                                    <div class="tab-pane fade " role="tabpanel" aria-labelledby="home-tab">
                                        <pre style="line-height: 18px">self = <CodesecApi.case.externaApi.test_createProjectByGitInfo.TestCodeSecAPI object at 0x0000015480F63290>
testcase = {'assert_csv': '成功', 'authenticationMethod_csv': '0', 'branch_csv': 'main', 'case_name': 'projectDesc_Contains special characters', ...}

    @pytest.mark.parametrize("testcase", request_data, ids=request_ids)   # ids指定用例名称
    def test_createProjectByGitInfo(self, testcase):
        base_path = f"/project/createProjectByGitInfo"
        url = base_url + base_path
        password_rsa = rsa_encode(testcase.get("password_csv"))
        parameter = {
            "projectName": testcase.get("projectName_csv"),
            "gitType": testcase.get("gitType_csv"),
            "authenticationMethod": testcase.get("authenticationMethod_csv"),
            "url": testcase.get("url_csv"),
            "projectDesc": testcase.get("projectDesc_csv"),
            "urlHead": testcase.get("urlHead_csv"),
            "username": testcase.get("username_csv"),
            "password": password_rsa,
            "isTokenEncrypt": "",
            "branch": "main",
            "tag": "",
            "checkCommitId": "",
            "commitId": "",
            "extraMark": "",
            "fileFilter": "",
            "callBackUrl": "",
            "language": "1",
            "type": "1",
            "isOpenDepend": "",
            "depotId": "",
            "pullFileName": "",
            "ruleSetId": "",
            "orgUuid": "00a7b33e-f075-4758-9ef0-d1bb989748ac",
            "fastScan": "",
            "isIncrScan": ""
        }
        response = send_request(url, "post", parameter, base_path)
>       assert testcase.get("assert_csv") in response["message"]
E       AssertionError: assert '成功' in '指定团队下项目名已经存在。'
E        +  where '成功' = <built-in method get of dict object at 0x0000015480F76700>('assert_csv')
E        +    where <built-in method get of dict object at 0x0000015480F76700> = {'assert_csv': '成功', 'authenticationMethod_csv': '0', 'branch_csv': 'main', 'case_name': 'projectDesc_Contains special characters', ...}.get

case\externaApi\test_createProjectByGitInfo.py:52: AssertionError</pre>
                                    </div>
                                    
                                    


                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
                
                <tr class="case_">
                    <td>14</td>
                    <td class="caseexternaApitest_createProjectByGitInfopy">case\externaApi\test_createProjectByGitInfo.py</td>
                    <td>TestCodeSecAPI.test_createProjectByGitInfo</td>
                    <td>case_name: projectDesc_two characters</td>
                    <td>0.553017</td>
                    
                    <td class="text-warning">失败</td>
                    
                    <td>
                        <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button>
                    </td>
                </tr>

                <tr class="test_log">
                    <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all;padding: 0">
                        <div class="card" style="background: rgba(3, 14, 70, 0.5)">
                            <div class="card-body">
                                <ul class="nav nav-tabs" role="tablist">
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link active" data-toggle="tab" role="tab" aria-controls="home"
                                           aria-selected="true" style="padding: 0 16px">运行日志</a>
                                    </li>
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="profile"
                                           aria-selected="false" style="padding: 0 16px">调试输出</a>
                                    </li>
                                    
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="contact"
                                           aria-selected="false" style="padding: 0 16px">异常信息</a>
                                    </li>
                                    
                                    

                                </ul>
                                <div class="tab-content" style="height: 300px;overflow-y: auto;padding: 20px">

                                    <div class="tab-pane fade show active" role="tabpanel" aria-labelledby="profile-tab">
                                        <pre style="line-height: 18px">[1m[31mERROR   [0m ERROR:CodeSecTool.py:270 --------------------------------------------------请求错误：指定团队下项目名已经存在。--------------------------------------------------
[1m[31mERROR   [0m ERROR:CodeSecTool.py:277 请求url：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo
[1m[31mERROR   [0m ERROR:CodeSecTool.py:278 请求头：
{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf',
 'lang': 'zh-CN',
 'x-cs-nonce': 'crx123456',
 'x-cs-signature': '0d0db49c26a55afbf4b872b271ae69965c5d994b7e1389491bf428a100d91ca6',
 'x-cs-timestamp': '1727339674645'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:279 请求参数：
{'authenticationMethod': '0',
 'branch': 'main',
 'callBackUrl': '',
 'checkCommitId': '',
 'commitId': '',
 'depotId': '',
 'extraMark': '',
 'fastScan': '',
 'fileFilter': '',
 'gitType': '3',
 'isIncrScan': '',
 'isOpenDepend': '',
 'isTokenEncrypt': '',
 'language': '1',
 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac',
 'password': 'eNW5nsplRj1OUkG+vbF/ZL6E5ZB4ftqb8zo9lc4XkX4nAzRJZbxcws3Wupran9bUH9h6uKiaTOf/6/ugy5ib8Feh6MMy1Lx3AzdXR1yb18XOcQTfEUebUhQZ1pZt1gYR55KUSE89N3I2FFByjfrdxb5OS9aYJNlHxkAaZGim8a0=',
 'projectDesc': '12',
 'projectName': 'projectDesc两个字符',
 'pullFileName': '',
 'ruleSetId': '',
 'tag': '',
 'type': '1',
 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git',
 'urlHead': '0',
 'username': 'username'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:281 验签拼接参数：
%sauthenticationMethod=0&branch=main&gitType=3&language=1&orgUuid=00a7b33e-f075-4758-9ef0-d1bb989748ac&password=eNW5nsplRj1OUkG+vbF/ZL6E5ZB4ftqb8zo9lc4XkX4nAzRJZbxcws3Wupran9bUH9h6uKiaTOf/6/ugy5ib8Feh6MMy1Lx3AzdXR1yb18XOcQTfEUebUhQZ1pZt1gYR55KUSE89N3I2FFByjfrdxb5OS9aYJNlHxkAaZGim8a0=&projectDesc=12&projectName=projectDesc两个字符&type=1&url=http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git&urlHead=0&username=username&eyJhbGciOiJIUzUxMiJ9.eyJub25jZSI6IjZiMGY4N2U3LWQ1MWYtNDZjOC04YjI2LWM4ZTliYWU5NDUwZSIsInN1YiI6ImZiOWQ2MDMyLWUzZmYtNDM1Ny04YzQyLTE4YTE3ZmQ4NTViZiJ9.-qpeeyHWepLXaMFFoNCmjovV1wP5ZTKgfAvQwI_oLsKxP1S8s-1GOOedmCosLCNr7BvzLAONFdtSKRO0Cu-YPw&1727339674936&crx123456

[1m[31mERROR   [0m ERROR:CodeSecTool.py:282 返回内容：
{'code': 'B408', 'message': '指定团队下项目名已经存在。', 'status': False}</pre>
                                    </div>
                                    <div class="tab-pane fade" role="tabpanel" aria-labelledby="contact-tab">
                                        <pre style="line-height: 18px">
请求接口：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo 
请求头：{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf', 'x-cs-timestamp': '1727339674645', 'x-cs-nonce': 'crx123456', 'x-cs-signature': '0d0db49c26a55afbf4b872b271ae69965c5d994b7e1389491bf428a100d91ca6', 'lang': 'zh-CN'}
请求参数：{'projectName': 'projectDesc两个字符', 'gitType': '3', 'authenticationMethod': '0', 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git', 'projectDesc': '12', 'urlHead': '0', 'username': 'username', 'password': 'eNW5nsplRj1OUkG+vbF/ZL6E5ZB4ftqb8zo9lc4XkX4nAzRJZbxcws3Wupran9bUH9h6uKiaTOf/6/ugy5ib8Feh6MMy1Lx3AzdXR1yb18XOcQTfEUebUhQZ1pZt1gYR55KUSE89N3I2FFByjfrdxb5OS9aYJNlHxkAaZGim8a0=', 'isTokenEncrypt': '', 'branch': 'main', 'tag': '', 'checkCommitId': '', 'commitId': '', 'extraMark': '', 'fileFilter': '', 'callBackUrl': '', 'language': '1', 'type': '1', 'isOpenDepend': '', 'depotId': '', 'pullFileName': '', 'ruleSetId': '', 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac', 'fastScan': '', 'isIncrScan': ''}
响应：{'status': False, 'code': 'B408', 'message': '指定团队下项目名已经存在。'}
</pre>
                                    </div>
                                    
                                    <div class="tab-pane fade " role="tabpanel" aria-labelledby="home-tab">
                                        <pre style="line-height: 18px">self = <CodesecApi.case.externaApi.test_createProjectByGitInfo.TestCodeSecAPI object at 0x0000015480F63320>, testcase = {'assert_csv': '成功', 'authenticationMethod_csv': '0', 'branch_csv': 'main', 'case_name': 'projectDesc_two characters', ...}

    @pytest.mark.parametrize("testcase", request_data, ids=request_ids)   # ids指定用例名称
    def test_createProjectByGitInfo(self, testcase):
        base_path = f"/project/createProjectByGitInfo"
        url = base_url + base_path
        password_rsa = rsa_encode(testcase.get("password_csv"))
        parameter = {
            "projectName": testcase.get("projectName_csv"),
            "gitType": testcase.get("gitType_csv"),
            "authenticationMethod": testcase.get("authenticationMethod_csv"),
            "url": testcase.get("url_csv"),
            "projectDesc": testcase.get("projectDesc_csv"),
            "urlHead": testcase.get("urlHead_csv"),
            "username": testcase.get("username_csv"),
            "password": password_rsa,
            "isTokenEncrypt": "",
            "branch": "main",
            "tag": "",
            "checkCommitId": "",
            "commitId": "",
            "extraMark": "",
            "fileFilter": "",
            "callBackUrl": "",
            "language": "1",
            "type": "1",
            "isOpenDepend": "",
            "depotId": "",
            "pullFileName": "",
            "ruleSetId": "",
            "orgUuid": "00a7b33e-f075-4758-9ef0-d1bb989748ac",
            "fastScan": "",
            "isIncrScan": ""
        }
        response = send_request(url, "post", parameter, base_path)
>       assert testcase.get("assert_csv") in response["message"]
E       AssertionError: assert '成功' in '指定团队下项目名已经存在。'
E        +  where '成功' = <built-in method get of dict object at 0x0000015480F76980>('assert_csv')
E        +    where <built-in method get of dict object at 0x0000015480F76980> = {'assert_csv': '成功', 'authenticationMethod_csv': '0', 'branch_csv': 'main', 'case_name': 'projectDesc_two characters', ...}.get

case\externaApi\test_createProjectByGitInfo.py:52: AssertionError</pre>
                                    </div>
                                    
                                    


                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
                
                <tr class="case_">
                    <td>15</td>
                    <td class="caseexternaApitest_createProjectByGitInfopy">case\externaApi\test_createProjectByGitInfo.py</td>
                    <td>TestCodeSecAPI.test_createProjectByGitInfo</td>
                    <td>case_name: projectDesc_500characters</td>
                    <td>0.581177</td>
                    
                    <td class="text-warning">失败</td>
                    
                    <td>
                        <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button>
                    </td>
                </tr>

                <tr class="test_log">
                    <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all;padding: 0">
                        <div class="card" style="background: rgba(3, 14, 70, 0.5)">
                            <div class="card-body">
                                <ul class="nav nav-tabs" role="tablist">
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link active" data-toggle="tab" role="tab" aria-controls="home"
                                           aria-selected="true" style="padding: 0 16px">运行日志</a>
                                    </li>
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="profile"
                                           aria-selected="false" style="padding: 0 16px">调试输出</a>
                                    </li>
                                    
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="contact"
                                           aria-selected="false" style="padding: 0 16px">异常信息</a>
                                    </li>
                                    
                                    

                                </ul>
                                <div class="tab-content" style="height: 300px;overflow-y: auto;padding: 20px">

                                    <div class="tab-pane fade show active" role="tabpanel" aria-labelledby="profile-tab">
                                        <pre style="line-height: 18px">[1m[31mERROR   [0m ERROR:CodeSecTool.py:270 --------------------------------------------------请求错误：指定团队下项目名已经存在。--------------------------------------------------
[1m[31mERROR   [0m ERROR:CodeSecTool.py:277 请求url：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo
[1m[31mERROR   [0m ERROR:CodeSecTool.py:278 请求头：
{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf',
 'lang': 'zh-CN',
 'x-cs-nonce': 'crx123456',
 'x-cs-signature': 'ceb62452bd9cd72ec5925f53e8f6f359c8e2568b53af95a1106e8c5556b7a944',
 'x-cs-timestamp': '1727339675184'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:279 请求参数：
{'authenticationMethod': '0',
 'branch': 'main',
 'callBackUrl': '',
 'checkCommitId': '',
 'commitId': '',
 'depotId': '',
 'extraMark': '',
 'fastScan': '',
 'fileFilter': '',
 'gitType': '3',
 'isIncrScan': '',
 'isOpenDepend': '',
 'isTokenEncrypt': '',
 'language': '1',
 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac',
 'password': 'ocKXIfm23JvbaqPyewE9M00f8HW7asq1S/XScFctpJXXwL9/YIJQkTRWTnua2sQQaVL+0nQnOF2fLO89OFYjh+dTU//leQYVxNXhrFlcdLmB2rOZ/wCGwBFp2ZlKNqX2JD9R9GnDADE7tcT5k/bBUebjNi0cd+3I7ldsB3188iY=',
 'projectDesc': '01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789',
 'projectName': 'projectDesc500个字符',
 'pullFileName': '',
 'ruleSetId': '',
 'tag': '',
 'type': '1',
 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git',
 'urlHead': '0',
 'username': 'username'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:281 验签拼接参数：
%sauthenticationMethod=0&branch=main&gitType=3&language=1&orgUuid=00a7b33e-f075-4758-9ef0-d1bb989748ac&password=ocKXIfm23JvbaqPyewE9M00f8HW7asq1S/XScFctpJXXwL9/YIJQkTRWTnua2sQQaVL+0nQnOF2fLO89OFYjh+dTU//leQYVxNXhrFlcdLmB2rOZ/wCGwBFp2ZlKNqX2JD9R9GnDADE7tcT5k/bBUebjNi0cd+3I7ldsB3188iY=&projectDesc=01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789&projectName=projectDesc500个字符&type=1&url=http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git&urlHead=0&username=username&eyJhbGciOiJIUzUxMiJ9.eyJub25jZSI6IjZiMGY4N2U3LWQ1MWYtNDZjOC04YjI2LWM4ZTliYWU5NDUwZSIsInN1YiI6ImZiOWQ2MDMyLWUzZmYtNDM1Ny04YzQyLTE4YTE3ZmQ4NTViZiJ9.-qpeeyHWepLXaMFFoNCmjovV1wP5ZTKgfAvQwI_oLsKxP1S8s-1GOOedmCosLCNr7BvzLAONFdtSKRO0Cu-YPw&1727339675508&crx123456

[1m[31mERROR   [0m ERROR:CodeSecTool.py:282 返回内容：
{'code': 'B408', 'message': '指定团队下项目名已经存在。', 'status': False}</pre>
                                    </div>
                                    <div class="tab-pane fade" role="tabpanel" aria-labelledby="contact-tab">
                                        <pre style="line-height: 18px">
请求接口：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo 
请求头：{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf', 'x-cs-timestamp': '1727339675184', 'x-cs-nonce': 'crx123456', 'x-cs-signature': 'ceb62452bd9cd72ec5925f53e8f6f359c8e2568b53af95a1106e8c5556b7a944', 'lang': 'zh-CN'}
请求参数：{'projectName': 'projectDesc500个字符', 'gitType': '3', 'authenticationMethod': '0', 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git', 'projectDesc': '01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789', 'urlHead': '0', 'username': 'username', 'password': 'ocKXIfm23JvbaqPyewE9M00f8HW7asq1S/XScFctpJXXwL9/YIJQkTRWTnua2sQQaVL+0nQnOF2fLO89OFYjh+dTU//leQYVxNXhrFlcdLmB2rOZ/wCGwBFp2ZlKNqX2JD9R9GnDADE7tcT5k/bBUebjNi0cd+3I7ldsB3188iY=', 'isTokenEncrypt': '', 'branch': 'main', 'tag': '', 'checkCommitId': '', 'commitId': '', 'extraMark': '', 'fileFilter': '', 'callBackUrl': '', 'language': '1', 'type': '1', 'isOpenDepend': '', 'depotId': '', 'pullFileName': '', 'ruleSetId': '', 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac', 'fastScan': '', 'isIncrScan': ''}
响应：{'status': False, 'code': 'B408', 'message': '指定团队下项目名已经存在。'}
</pre>
                                    </div>
                                    
                                    <div class="tab-pane fade " role="tabpanel" aria-labelledby="home-tab">
                                        <pre style="line-height: 18px">self = <CodesecApi.case.externaApi.test_createProjectByGitInfo.TestCodeSecAPI object at 0x0000015480F633B0>, testcase = {'assert_csv': '成功', 'authenticationMethod_csv': '0', 'branch_csv': 'main', 'case_name': 'projectDesc_500characters', ...}

    @pytest.mark.parametrize("testcase", request_data, ids=request_ids)   # ids指定用例名称
    def test_createProjectByGitInfo(self, testcase):
        base_path = f"/project/createProjectByGitInfo"
        url = base_url + base_path
        password_rsa = rsa_encode(testcase.get("password_csv"))
        parameter = {
            "projectName": testcase.get("projectName_csv"),
            "gitType": testcase.get("gitType_csv"),
            "authenticationMethod": testcase.get("authenticationMethod_csv"),
            "url": testcase.get("url_csv"),
            "projectDesc": testcase.get("projectDesc_csv"),
            "urlHead": testcase.get("urlHead_csv"),
            "username": testcase.get("username_csv"),
            "password": password_rsa,
            "isTokenEncrypt": "",
            "branch": "main",
            "tag": "",
            "checkCommitId": "",
            "commitId": "",
            "extraMark": "",
            "fileFilter": "",
            "callBackUrl": "",
            "language": "1",
            "type": "1",
            "isOpenDepend": "",
            "depotId": "",
            "pullFileName": "",
            "ruleSetId": "",
            "orgUuid": "00a7b33e-f075-4758-9ef0-d1bb989748ac",
            "fastScan": "",
            "isIncrScan": ""
        }
        response = send_request(url, "post", parameter, base_path)
>       assert testcase.get("assert_csv") in response["message"]
E       AssertionError: assert '成功' in '指定团队下项目名已经存在。'
E        +  where '成功' = <built-in method get of dict object at 0x0000015480F75C00>('assert_csv')
E        +    where <built-in method get of dict object at 0x0000015480F75C00> = {'assert_csv': '成功', 'authenticationMethod_csv': '0', 'branch_csv': 'main', 'case_name': 'projectDesc_500characters', ...}.get

case\externaApi\test_createProjectByGitInfo.py:52: AssertionError</pre>
                                    </div>
                                    
                                    


                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
                
                <tr class="case_">
                    <td>16</td>
                    <td class="caseexternaApitest_createProjectByGitInfopy">case\externaApi\test_createProjectByGitInfo.py</td>
                    <td>TestCodeSecAPI.test_createProjectByGitInfo</td>
                    <td>case_name: url_ok</td>
                    <td>0.543163</td>
                    
                    <td class="text-warning">失败</td>
                    
                    <td>
                        <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button>
                    </td>
                </tr>

                <tr class="test_log">
                    <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all;padding: 0">
                        <div class="card" style="background: rgba(3, 14, 70, 0.5)">
                            <div class="card-body">
                                <ul class="nav nav-tabs" role="tablist">
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link active" data-toggle="tab" role="tab" aria-controls="home"
                                           aria-selected="true" style="padding: 0 16px">运行日志</a>
                                    </li>
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="profile"
                                           aria-selected="false" style="padding: 0 16px">调试输出</a>
                                    </li>
                                    
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="contact"
                                           aria-selected="false" style="padding: 0 16px">异常信息</a>
                                    </li>
                                    
                                    

                                </ul>
                                <div class="tab-content" style="height: 300px;overflow-y: auto;padding: 20px">

                                    <div class="tab-pane fade show active" role="tabpanel" aria-labelledby="profile-tab">
                                        <pre style="line-height: 18px">[1m[31mERROR   [0m ERROR:CodeSecTool.py:270 --------------------------------------------------请求错误：指定团队下项目名已经存在。--------------------------------------------------
[1m[31mERROR   [0m ERROR:CodeSecTool.py:277 请求url：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo
[1m[31mERROR   [0m ERROR:CodeSecTool.py:278 请求头：
{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf',
 'lang': 'zh-CN',
 'x-cs-nonce': 'crx123456',
 'x-cs-signature': '43754b0f079d24e98e711496d1792bef01d2ec080eeb85e7e48644883d5fb0a2',
 'x-cs-timestamp': '1727339675783'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:279 请求参数：
{'authenticationMethod': '0',
 'branch': 'main',
 'callBackUrl': '',
 'checkCommitId': '',
 'commitId': '',
 'depotId': '',
 'extraMark': '',
 'fastScan': '',
 'fileFilter': '',
 'gitType': '1',
 'isIncrScan': '',
 'isOpenDepend': '',
 'isTokenEncrypt': '',
 'language': '1',
 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac',
 'password': 'MjtVCchqyYevAYvN3zwQdm2kPOdrA85TrQbKB07PG9KBTRz4mHHUyf99/pXwBre7etwneghpeEdgpvydlLaYmBm6L+M683GBLTj/qP0KmEzUmIYuzt29QNbeJp+q5nejX4A2pQnV54oMby1YZfCU3NYRJ4fKFhDRS8MFb/5Obug=',
 'projectDesc': '接口创建项目',
 'projectName': 'url正常',
 'pullFileName': '',
 'ruleSetId': '',
 'tag': '',
 'type': '1',
 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git',
 'urlHead': '0',
 'username': ''}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:281 验签拼接参数：
%sauthenticationMethod=0&branch=main&gitType=1&language=1&orgUuid=00a7b33e-f075-4758-9ef0-d1bb989748ac&password=MjtVCchqyYevAYvN3zwQdm2kPOdrA85TrQbKB07PG9KBTRz4mHHUyf99/pXwBre7etwneghpeEdgpvydlLaYmBm6L+M683GBLTj/qP0KmEzUmIYuzt29QNbeJp+q5nejX4A2pQnV54oMby1YZfCU3NYRJ4fKFhDRS8MFb/5Obug=&projectDesc=接口创建项目&projectName=url正常&type=1&url=http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git&urlHead=0&eyJhbGciOiJIUzUxMiJ9.eyJub25jZSI6IjZiMGY4N2U3LWQ1MWYtNDZjOC04YjI2LWM4ZTliYWU5NDUwZSIsInN1YiI6ImZiOWQ2MDMyLWUzZmYtNDM1Ny04YzQyLTE4YTE3ZmQ4NTViZiJ9.-qpeeyHWepLXaMFFoNCmjovV1wP5ZTKgfAvQwI_oLsKxP1S8s-1GOOedmCosLCNr7BvzLAONFdtSKRO0Cu-YPw&1727339676069&crx123456

[1m[31mERROR   [0m ERROR:CodeSecTool.py:282 返回内容：
{'code': 'B408', 'message': '指定团队下项目名已经存在。', 'status': False}</pre>
                                    </div>
                                    <div class="tab-pane fade" role="tabpanel" aria-labelledby="contact-tab">
                                        <pre style="line-height: 18px">
请求接口：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo 
请求头：{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf', 'x-cs-timestamp': '1727339675783', 'x-cs-nonce': 'crx123456', 'x-cs-signature': '43754b0f079d24e98e711496d1792bef01d2ec080eeb85e7e48644883d5fb0a2', 'lang': 'zh-CN'}
请求参数：{'projectName': 'url正常', 'gitType': '1', 'authenticationMethod': '0', 'url': 'http://192.168.2.77:9010/heyaohua/audit_whitelistdemo.git', 'projectDesc': '接口创建项目', 'urlHead': '0', 'username': '', 'password': 'MjtVCchqyYevAYvN3zwQdm2kPOdrA85TrQbKB07PG9KBTRz4mHHUyf99/pXwBre7etwneghpeEdgpvydlLaYmBm6L+M683GBLTj/qP0KmEzUmIYuzt29QNbeJp+q5nejX4A2pQnV54oMby1YZfCU3NYRJ4fKFhDRS8MFb/5Obug=', 'isTokenEncrypt': '', 'branch': 'main', 'tag': '', 'checkCommitId': '', 'commitId': '', 'extraMark': '', 'fileFilter': '', 'callBackUrl': '', 'language': '1', 'type': '1', 'isOpenDepend': '', 'depotId': '', 'pullFileName': '', 'ruleSetId': '', 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac', 'fastScan': '', 'isIncrScan': ''}
响应：{'status': False, 'code': 'B408', 'message': '指定团队下项目名已经存在。'}
</pre>
                                    </div>
                                    
                                    <div class="tab-pane fade " role="tabpanel" aria-labelledby="home-tab">
                                        <pre style="line-height: 18px">self = <CodesecApi.case.externaApi.test_createProjectByGitInfo.TestCodeSecAPI object at 0x0000015480F63440>, testcase = {'assert_csv': '成功', 'authenticationMethod_csv': '0', 'branch_csv': 'main', 'case_name': 'url_ok', ...}

    @pytest.mark.parametrize("testcase", request_data, ids=request_ids)   # ids指定用例名称
    def test_createProjectByGitInfo(self, testcase):
        base_path = f"/project/createProjectByGitInfo"
        url = base_url + base_path
        password_rsa = rsa_encode(testcase.get("password_csv"))
        parameter = {
            "projectName": testcase.get("projectName_csv"),
            "gitType": testcase.get("gitType_csv"),
            "authenticationMethod": testcase.get("authenticationMethod_csv"),
            "url": testcase.get("url_csv"),
            "projectDesc": testcase.get("projectDesc_csv"),
            "urlHead": testcase.get("urlHead_csv"),
            "username": testcase.get("username_csv"),
            "password": password_rsa,
            "isTokenEncrypt": "",
            "branch": "main",
            "tag": "",
            "checkCommitId": "",
            "commitId": "",
            "extraMark": "",
            "fileFilter": "",
            "callBackUrl": "",
            "language": "1",
            "type": "1",
            "isOpenDepend": "",
            "depotId": "",
            "pullFileName": "",
            "ruleSetId": "",
            "orgUuid": "00a7b33e-f075-4758-9ef0-d1bb989748ac",
            "fastScan": "",
            "isIncrScan": ""
        }
        response = send_request(url, "post", parameter, base_path)
>       assert testcase.get("assert_csv") in response["message"]
E       AssertionError: assert '成功' in '指定团队下项目名已经存在。'
E        +  where '成功' = <built-in method get of dict object at 0x0000015480F76880>('assert_csv')
E        +    where <built-in method get of dict object at 0x0000015480F76880> = {'assert_csv': '成功', 'authenticationMethod_csv': '0', 'branch_csv': 'main', 'case_name': 'url_ok', ...}.get

case\externaApi\test_createProjectByGitInfo.py:52: AssertionError</pre>
                                    </div>
                                    
                                    


                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
                
                <tr class="case_">
                    <td>17</td>
                    <td class="caseexternaApitest_createProjectByGitInfopy">case\externaApi\test_createProjectByGitInfo.py</td>
                    <td>TestCodeSecAPI.test_createProjectByGitInfo</td>
                    <td>case_name: url_null</td>
                    <td>0.554508</td>
                    
                    
                    <td class="text-success">通过</td>
                    
                    
                    <td>
                        <button type="button" class="btn btn_info btn-primary btn-sm">查看详情</button>
                    </td>
                </tr>

                <tr class="test_log">
                    <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all;padding: 0">
                        <div class="card" style="background: rgba(3, 14, 70, 0.5)">
                            <div class="card-body">
                                <ul class="nav nav-tabs" role="tablist">
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link active" data-toggle="tab" role="tab" aria-controls="home"
                                           aria-selected="true" style="padding: 0 16px">运行日志</a>
                                    </li>
                                    <li class="nav-item" role="presentation">
                                        <a class="nav-link" data-toggle="tab" role="tab" aria-controls="profile"
                                           aria-selected="false" style="padding: 0 16px">调试输出</a>
                                    </li>
                                    
                                    

                                </ul>
                                <div class="tab-content" style="height: 300px;overflow-y: auto;padding: 20px">

                                    <div class="tab-pane fade show active" role="tabpanel" aria-labelledby="profile-tab">
                                        <pre style="line-height: 18px">[1m[31mERROR   [0m ERROR:CodeSecTool.py:270 --------------------------------------------------请求错误：url：该字段不能为空。--------------------------------------------------
[1m[31mERROR   [0m ERROR:CodeSecTool.py:277 请求url：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo
[1m[31mERROR   [0m ERROR:CodeSecTool.py:278 请求头：
{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf',
 'lang': 'zh-CN',
 'x-cs-nonce': 'crx123456',
 'x-cs-signature': 'fe64e4cfc649bcff8e9c22d94967a4209bc3a53cb68f2d6786354ff77ee64658',
 'x-cs-timestamp': '1727339676318'}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:279 请求参数：
{'authenticationMethod': '0',
 'branch': 'main',
 'callBackUrl': '',
 'checkCommitId': '',
 'commitId': '',
 'depotId': '',
 'extraMark': '',
 'fastScan': '',
 'fileFilter': '',
 'gitType': '1',
 'isIncrScan': '',
 'isOpenDepend': '',
 'isTokenEncrypt': '',
 'language': '1',
 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac',
 'password': 'QIPv4Sm6utBv+blSAlkFQk45g/CZyHFxAZEdV0J4wOii4FV9SDfz8VgtItoaitA3z8sEF0BHzB8sfYLC8bElH6UD8TEkOmTuBJemzCZbmprSmnZI4NUWrrd0hUVXSOsxKGN11fHFBC8++AdM1ZfsQynb+tVgboynY6us8nsRpZw=',
 'projectDesc': '接口创建项目',
 'projectName': 'url为空',
 'pullFileName': '',
 'ruleSetId': '',
 'tag': '',
 'type': '1',
 'url': '',
 'urlHead': '0',
 'username': ''}

[1m[31mERROR   [0m ERROR:CodeSecTool.py:281 验签拼接参数：
%sauthenticationMethod=0&branch=main&gitType=1&language=1&orgUuid=00a7b33e-f075-4758-9ef0-d1bb989748ac&password=QIPv4Sm6utBv+blSAlkFQk45g/CZyHFxAZEdV0J4wOii4FV9SDfz8VgtItoaitA3z8sEF0BHzB8sfYLC8bElH6UD8TEkOmTuBJemzCZbmprSmnZI4NUWrrd0hUVXSOsxKGN11fHFBC8++AdM1ZfsQynb+tVgboynY6us8nsRpZw=&projectDesc=接口创建项目&projectName=url为空&type=1&urlHead=0&eyJhbGciOiJIUzUxMiJ9.eyJub25jZSI6IjZiMGY4N2U3LWQ1MWYtNDZjOC04YjI2LWM4ZTliYWU5NDUwZSIsInN1YiI6ImZiOWQ2MDMyLWUzZmYtNDM1Ny04YzQyLTE4YTE3ZmQ4NTViZiJ9.-qpeeyHWepLXaMFFoNCmjovV1wP5ZTKgfAvQwI_oLsKxP1S8s-1GOOedmCosLCNr7BvzLAONFdtSKRO0Cu-YPw&1727339676619&crx123456

[1m[31mERROR   [0m ERROR:CodeSecTool.py:282 返回内容：
{'code': 'B500', 'message': 'url：该字段不能为空。', 'status': False}</pre>
                                    </div>
                                    <div class="tab-pane fade" role="tabpanel" aria-labelledby="contact-tab">
                                        <pre style="line-height: 18px">
请求接口：http://192.168.2.229:28081/cs/api/v2/project/createProjectByGitInfo 
请求头：{'accessKey': 'fb9d6032-e3ff-4357-8c42-18a17fd855bf', 'x-cs-timestamp': '1727339676318', 'x-cs-nonce': 'crx123456', 'x-cs-signature': 'fe64e4cfc649bcff8e9c22d94967a4209bc3a53cb68f2d6786354ff77ee64658', 'lang': 'zh-CN'}
请求参数：{'projectName': 'url为空', 'gitType': '1', 'authenticationMethod': '0', 'url': '', 'projectDesc': '接口创建项目', 'urlHead': '0', 'username': '', 'password': 'QIPv4Sm6utBv+blSAlkFQk45g/CZyHFxAZEdV0J4wOii4FV9SDfz8VgtItoaitA3z8sEF0BHzB8sfYLC8bElH6UD8TEkOmTuBJemzCZbmprSmnZI4NUWrrd0hUVXSOsxKGN11fHFBC8++AdM1ZfsQynb+tVgboynY6us8nsRpZw=', 'isTokenEncrypt': '', 'branch': 'main', 'tag': '', 'checkCommitId': '', 'commitId': '', 'extraMark': '', 'fileFilter': '', 'callBackUrl': '', 'language': '1', 'type': '1', 'isOpenDepend': '', 'depotId': '', 'pullFileName': '', 'ruleSetId': '', 'orgUuid': '00a7b33e-f075-4758-9ef0-d1bb989748ac', 'fastScan': '', 'isIncrScan': ''}
响应：{'status': False, 'code': 'B500', 'message': 'url：该字段不能为空。'}
</pre>
                                    </div>
                                    
                                    


                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
                
            </table>
        </div>

        <div style="height: 200px"></div>
    </div>

</div>




<script type="text/javascript">

    const resulte = {
            "success": `8`,
            "all": `17`,
            "fail": `9`,
            "skip": '0',
            "error": `0`,
            "runtime": '11.069731 S',
            "begin_time": "1727339666.017231",
            "pass_rate": '47.06',
        }
    ;
    const history = [{'success': 48, 'all': 102, 'fail': 50, 'skip': 3, 'error': 1, 'runtime': '45.466580 S', 'begin_time': '2024-09-23 15:10:53', 'pass_rate': '47.06'}, {'success': 8, 'all': 17, 'fail': 9, 'skip': 0, 'error': 0, 'runtime': '11.069731 S', 'begin_time': '2024-09-26 16:34:26', 'pass_rate': '47.06'}];

    var passRate = [];
    var dTime = [];
    history.forEach(function (item, index, array) {
        passRate.push(item.pass_rate);
        dTime.push(item.begin_time)
    });
    if (passRate.length === 1) {
        passRate.unshift(0);
        dTime.unshift(0)
    }

    function char01() {
        let myChart = echarts.init(document.getElementById('char1'));
        let option = {
            color: ['#28a745', '#ffc107', '#dc3545', '#17a2b8'],
            tooltip: {
                trigger: 'item',
                formatter: '{a} <br/>{b}: {c} ({d}%)',
                backgroundColor: 'rgba(3, 14, 70, 0.5)',
                borderColor: '#333',
                textStyle: {
                    color: '#fff',
                    fontSize: "13"
                },
            },
            legend: {
                bottom: "0%",
                // 小图标的宽度和高度
                itemWidth: 10,
                itemHeight: 10,
                data: ['通过', '失败', '错误', '跳过'],
                textStyle: {
                    color: "rgba(255,255,255,.5)",
                    fontSize: "12"
                },
            },
            series: [
                {
                    name: '测试结果',
                    type: 'pie',
                    radius: ['50%', '70%'],
                    avoidLabelOverlap: false,
                    label: {
                        show: false,
                        position: 'center'
                    },
                    emphasis: {
                        label: {
                            show: true,
                            fontSize: '20',
                            fontWeight: 'bold',
                            color: '#fff',
                        }
                    },
                    labelLine: {
                        show: false
                    },
                    data: [
                        {value: resulte.success, name: '通过'},
                        {value: resulte.fail, name: '失败'},
                        {value: resulte.error, name: '错误'},
                        {value: resulte.skip, name: '跳过'}
                    ]
                }
            ]
        };
        myChart.setOption(option)

    }

    char01();

    //    大图
    function char02() {

        // 基于准备好的dom，初始化echarts实例
        let myChart = echarts.init(document.getElementById("char2"));
        // 2. 指定配置和数据
        option = {
            tooltip: {
                trigger: 'axis',
                formatter: '{a} <br/>{b}:  ({c}%)',
                backgroundColor: 'rgba(3, 14, 70, 0.5)',
                borderColor: '#333',
                textStyle: {
                    color: '#fff',
                    fontSize: "13"
                },
            },

            grid: {
                left: "10",
                top: "30",
                right: "10",
                bottom: "0",
                containLabel: true
            },

            xAxis: [{
                type: "category",
                boundaryGap: false,
                show: false,
                axisLabel: {
                    textStyle: {
                        color: "rgba(255,255,255,.6)",
                        fontSize: 12
                    }
                },
                axisLine: {
                    lineStyle: {
                        color: "rgba(255,255,255,.2)"
                    }
                },

                data: dTime
            },
                {
                    axisPointer: {
                        show: false
                    },
                    axisLine: {
                        show: false
                    },
                    position: "bottom",
                    offset: 20
                }
            ],

            yAxis: [{
                type: "value",
                axisTick: {
                    show: false
                },
                axisLine: {
                    lineStyle: {
                        color: "rgba(255,255,255,.1)"
                    }
                },
                axisLabel: {
                    textStyle: {
                        color: "rgba(255,255,255,.6)",
                        fontSize: 12
                    }
                },

                splitLine: {
                    lineStyle: {
                        color: "rgba(255,255,255,.1)"
                    }
                }
            }],
            series: [{
                name: "通过率",
                type: "line",
                smooth: true,
                symbol: "circle",
                symbolSize: 5,
                showSymbol: true,
                lineStyle: {
                    normal: {
                        color: "#0184d5",
                        width: 2
                    }
                },
                areaStyle: {
                    normal: {
                        color: new echarts.graphic.LinearGradient(
                            0,
                            0,
                            0,
                            1,
                            [{
                                offset: 0,
                                color: "rgba(1, 132, 213, 0.4)"
                            },
                                {
                                    offset: 0.8,
                                    color: "rgba(1, 132, 213, 0.1)"
                                }
                            ],
                            false
                        ),
                        shadowColor: "rgba(0, 0, 0, 0.1)"
                    }
                },
                itemStyle: {
                    normal: {
                        color: "#0184d5",
                        borderColor: "rgba(221, 220, 107, .1)",
                        borderWidth: 18
                    }
                },
                data: passRate
            },
            ]
        };
        // 重新把配置好的新数据给实例对象
        myChart.setOption(option);

    }

    char02();

    function char03() {
        // 基于准备好的dom，初始化echarts实例
        let myChart = echarts.init(document.getElementById("char3"));
        var data = [resulte.success, resulte.fail, resulte.error, resulte.skip];
        var titlename = ["通过用例", "失败用例", "错误用例", "跳过用例",];
        var valdata = [resulte.all, resulte.all, resulte.all, resulte.all];
        var myColor = ['#28a745', '#ffc107', '#dc3545', '#17a2b8'];
        option = {
            //图标位置
            grid: {
                top: "10%",
                left: "22%",
                bottom: "10%"
            },
            xAxis: {
                show: false
            },
            yAxis: [{
                show: true,
                data: titlename,
                inverse: true,
                axisLine: {
                    show: false
                },
                splitLine: {
                    show: false
                },
                axisTick: {
                    show: false
                },
                axisLabel: {
                    color: "#fff",

                    rich: {
                        lg: {
                            backgroundColor: "#339911",
                            color: "#fff",
                            borderRadius: 15,
                            align: "center",
                            width: 15,
                            height: 15
                        }
                    }
                }
            },
                {
                    show: false,
                    inverse: true,
                    data: valdata,
                    axisLabel: {
                        textStyle: {
                            fontSize: 12,
                            color: "#fff"
                        }
                    },
                    axisTick: {
                        show: false
                    },
                    axisLine: {
                        show: false
                    },
                }
            ],
            series: [{
                type: "bar",
                yAxisIndex: 0,
                data: data,
                barCategoryGap: 50,
                barWidth: 18,
                itemStyle: {
                    normal: {
                        barBorderRadius: 20,
                        color: function (params) {
                            var num = myColor.length;
                            return myColor[params.dataIndex % num];
                        }
                    }
                },
                label: {
                    normal: {
                        show: true,
                        position: "right",
                        formatter: "{c}条",
                        color: "#fff",

                    }
                }
            },
                {
                    type: "bar",
                    yAxisIndex: 1,
                    barCategoryGap: 50,
                    data: valdata,
                    barWidth: 20,
                    itemStyle: {
                        normal: {
                            color: "none",
                            borderColor: "#00c1de",
                            borderWidth: 2,
                            barBorderRadius: 15
                        }
                    }
                }
            ]
        };

        // 使用刚指定的配置项和数据显示图表。
        myChart.setOption(option);
        window.addEventListener("resize", function () {
            myChart.resize();
        });
    }

    char03()

</script>


<script>
    var tbodyTr = $('tbody .case_');
    var testResult = $("#testResult");
    var testClass = $("#testClass");
    <!--    用例执行详细信息显示切换-->
    $(".btn_info").click(function () {
        $(this).parent().parent().next().toggle();

    });
    // 当选择用例类之后触发
    testClass.change(function () {
        $('.test_log').hide();
        var cls = $(this).val();
        var res = testResult.val();
        elementDisplay(cls, res);
        sort()
    });
    testResult.change(function () {
        var res = $(this).val();
        var cls = testClass.val();
        elementDisplay(cls, res);
        sort()
    });

    function elementDisplay(cls, res) {
        // 用例数据的显示
        if (cls === "所有") {
            if (res === "所有") {
                tbodyTr.has('button').show();
            } else if (res === '成功') {
                tbodyTr.hide();
                tbodyTr.has('button').has('.text-success').show()

            } else if (res === '错误') {
                tbodyTr.hide();
                tbodyTr.has('button').has('.text-danger').show()

            } else if (res === '失败') {
                tbodyTr.hide();
                tbodyTr.has('button').has('.text-warning').show()

            } else if (res === '跳过') {
                tbodyTr.hide();
                tbodyTr.has('button').has('.text-info').show()
            }
        } else {
            if (res === "所有") {
                tbodyTr.hide();
                tbodyTr.has('button').has('.' + cls + '').show()
            } else if (res === '成功') {
                tbodyTr.hide();
                tbodyTr.has('button').has('.' + cls + '').has('.text-success').show()
            } else if (res === '错误') {
                tbodyTr.hide();
                tbodyTr.has('button').has('.' + cls + '').has('.text-danger').show()
            } else if (res === '失败') {
                tbodyTr.hide();
                tbodyTr.has('button').has('.' + cls + '').has('.text-warning').show()
            } else if (res === '跳过') {
                tbodyTr.hide();
                tbodyTr.has('button').has('.' + cls + '').has('.text-info').show()
            }
        }
    }

    function sort() {
        //重新排列显示序号
        // 选择所有可以见的tr
        var visibleTr = tbodyTr.filter(":visible");

        visibleTr.each(function (index, element) {
            element.firstElementChild.innerHTML = index + 1;

        })

    }

    $('.nav-tabs li').click(function () {
        $(this).find('a').addClass('active');
        $(this).siblings().find('a').removeClass('active');
        $(this).parent().next().children('.tab-content div').eq($(this).index()).addClass('active show').siblings().removeClass('active show')
    });

</script>


</body>
</html>